回答編集履歴

1

回答を詳細化

2018/03/11 02:12

投稿

defghi1977
defghi1977

スコア4756

test CHANGED
@@ -14,13 +14,13 @@
14
14
 
15
15
  xxx: function(){}//xxxは値を関数にとるプロパティ名
16
16
 
17
- }
17
+ };
18
18
 
19
19
  ({
20
20
 
21
21
  xxx: function(){}//xxxは値を関数にとるプロパティ名
22
22
 
23
- })
23
+ });
24
24
 
25
25
  //ブロックスコープを定義する{}
26
26
 
@@ -31,3 +31,63 @@
31
31
  }
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ ---
38
+
39
+ 下記は何れもECMA Script 2015で導入された構文です.
40
+
41
+
42
+
43
+ `({})`記法はオブジェクトを返すアロー関数を定義する際に使います.
44
+
45
+ ```JavaScript
46
+
47
+ var f = () => ({//このカッコはオブジェクトのカッコ
48
+
49
+ aaa: "あああ",
50
+
51
+ xxx: function(){}
52
+
53
+ });
54
+
55
+
56
+
57
+ var g = () => {//このカッコはブロックスコープのカッコ
58
+
59
+ const a = 1;
60
+
61
+ return a;
62
+
63
+ }
64
+
65
+ ```
66
+
67
+ 参考:
68
+
69
+ [https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/arrow_functions)
70
+
71
+
72
+
73
+ ブロックスコープは変数の有効範囲を制限します.(`if`文などの`{}`構文と同等.)
74
+
75
+ ```JavaScript
76
+
77
+ const a = 1;
78
+
79
+ {
80
+
81
+ const a = 2
82
+
83
+ console.log("inner", a);
84
+
85
+ }
86
+
87
+ console.log("outer", a);
88
+
89
+ ```
90
+
91
+ 参考:
92
+
93
+ [https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/block](https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Statements/block)