JavaScript アロー関数
より短くなる!関数にステートメントが1つだけあり、そのステートメントが値を返す場合は、括弧とreturn
キーワードを削除できます。
注:これは、関数にステートメントが1つしかない場合にのみ機能します。
パラメータがある場合は、括弧内にパラメータを渡します。
実際、パラメータが1つだけの場合は、括弧も省略できます。
何についてのthis
?
アロー関数では通常の関数と比べてthis
の扱いも異なります。
つまり、アロー関数ではthis
のバインドはありません。
通常の関数では、this
キーワードは関数を呼び出すオブジェクト (ウィンドウ、ドキュメント、ボタンなど) を表します。
アロー関数の場合、this
キーワードは常にアロー関数を定義したオブジェクトを表します。
違いを理解するために、2つの例を見てみましょう。
どちらの例もメソッドを2回呼び出します。1回目はページの読み込み時、もう1回はユーザーがボタンをクリックしたときです。
最初の例では通常の関数を使用し、2番目の例ではアロー関数を使用しています。
結果は、最初の例が2つの異なるオブジェクト(ウィンドウとボタン)を返し、2番目の例がウィンドウ オブジェクトを2回返すことを示しています。これは、ウィンドウオブジェクトが関数の「所有者」であるためです。
例
通常の関数では、関数を呼び出すthis
オブジェクトを表します。
例
アロー関数付きのthis
は関数の所有者を表します 。
関数を操作するときは、これらの違いを覚えておいてください。通常の関数の動作が必要な場合もありますが、そうでない場合はアロー関数を使用してください。
ブラウザのサポート
次の表は、JavaScriptのアロー関数を完全にサポートする最初のブラウザのバージョンを定義しています。
Chrome 45 | Edge 12 | Firefox 22 | Safari 10 | Opera 32 |
2015年9月 | 2015年7月 | 2013年5月 | 2016年9月 | 2015年9月 |
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。