回答編集履歴
2
更に修正
answer
CHANGED
@@ -11,8 +11,10 @@
|
|
11
11
|
|
12
12
|
-----
|
13
13
|
|
14
|
-
しかし本質は,**関数の実行結果に対して代入しようとしている**というところにあります.
|
14
|
+
しかし本質は,**関数の実行結果に対して代入しようとしている**というところにあります.代入演算子の左側に来れるのは**「変数シンボル」**(オブジェクトのプロパティを含む)のみに限られます.**「値」**に対しての代入できません.
|
15
15
|
|
16
|
+
(注意) ここでいう「シンボル」はECMA Script 6の `Symbol` とは無関係です
|
17
|
+
|
16
18
|
```javascript
|
17
19
|
x = 1
|
18
20
|
```
|
@@ -21,7 +23,7 @@
|
|
21
23
|
x
|
22
24
|
```
|
23
25
|
|
24
|
-
この2つの`x`の違いはわかりますか?1つ目は変数であり,2つ目は式です.式は評価されると値になります.JavaScriptは変数と式を区別しませんが,例えばシェルスクリプトは`$`の有無で区別しますよね.
|
26
|
+
この2つの`x`の違いはわかりますか?1つ目は変数シンボルであり,2つ目は式です.式は評価されると値になります.JavaScriptは変数シンボルと式を区別しませんが,例えばシェルスクリプトは`$`の有無で区別しますよね.
|
25
27
|
|
26
28
|
```Bash
|
27
29
|
x=1
|
1
Symbolと語弊がありそうなので修正
answer
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
-----
|
13
13
|
|
14
|
-
しかし本質は,**関数の実行結果に対して代入しようとしている**というところにあります.**代入演算子の左側に来れるのは
|
14
|
+
しかし本質は,**関数の実行結果に対して代入しようとしている**というところにあります.**代入演算子の左側に来れるのは「変数」「プロパティ」のみに限られます.「値」に対しての代入できません.**
|
15
15
|
|
16
16
|
```javascript
|
17
17
|
x = 1
|
@@ -21,7 +21,7 @@
|
|
21
21
|
x
|
22
22
|
```
|
23
23
|
|
24
|
-
この2つの`x`の違いはわかりますか?1つ目は
|
24
|
+
この2つの`x`の違いはわかりますか?1つ目は変数であり,2つ目は式です.式は評価されると値になります.JavaScriptは変数と式を区別しませんが,例えばシェルスクリプトは`$`の有無で区別しますよね.
|
25
25
|
|
26
26
|
```Bash
|
27
27
|
x=1
|