質問するログイン新規登録

回答編集履歴

1

名前付き関数式/アロー関数の説明追加

2016/04/16 13:30

投稿

think49
think49

スコア18194

answer CHANGED
@@ -4,9 +4,29 @@
4
4
 
5
5
  - [JavaScript - コンストラクタの名前(開眼!JavaScriptを読んで)(27900)|teratail](https://teratail.com/questions/27900)
6
6
 
7
- ### 無名関数式とアロー関数
7
+ ### 無名関数式と名前付き関数
8
8
 
9
- 無名関数式やアロー関数は頻繁に使うものではないと思います。
9
+ 無名関数式は頻繁に使うものではないと思います。
10
- `Function#name` がないのでデバッグ時に切り分けがやりづらくなります。
10
+ **無名関数式は `Function#name` がない**のでデバッグ時に切り分けがやりづらくなります。
11
+ 無名関数式は名前付き関数式に変更しても動く為、基本的には名前つき間数式を使うと良いと思います。
11
12
 
13
+ ### アロー関数
14
+
15
+ アロー関数は関数スコープで `this` 値を束縛したくない場合において有効です。
16
+
17
+ ```JavaScript
18
+ function Hoge (x) { this.x = x; }
19
+ Hoge.prototype.foo = function foo () {
20
+ setTimeout(() => console.log(this.x), 1000);
21
+ };
22
+
23
+ new Hoge(3).foo();
24
+ ```
25
+
26
+ ただし、**アロー関数も名前がない**ので必要な時だけ利用する事になります。
27
+
28
+ ### 更新履歴
29
+
30
+ - 2016/04/16 22:30 名前付き関数式/アロー関数の説明を追記
31
+
12
32
  Re: bleurouge さん