Microsoft Edge の機能を調べてみた - アロー関数(Arrow Functions) 編
今更ですが、アロー関数のご紹介。
Build 10240 で Microsoft Edge に正式対応した JavaScript の関数を簡素に記述する機能。
現状 Chrome、Opera、Firefox で動作しますが、OSX / iOS の Safari では動きません。
記述は C# のラムダ式に近いです。
サンプル:2個の引数を掛け算する
サンプル:関数である為、返り値を配列として渡すこともできる
アロー関数の注意点など
- 引数がない場合は () が必須
- 引数が1つしかない場合 () は省略可能
- 関数の内容が複数の命令の場合、従来通り {} で囲む
- 使用頻度は低いが即時実行させることもできる
- 関数であるため返り値をオブジェクトとして返すこともできる
- アロー関数の this の参照は関数定義時に決まる。そのためアロー関数はスコープ内の this の値を捕捉する
- 空のアロー関数は undefined を返す
以下、サンプル
引数がない場合は () が必要
引数が1つの場合は () を省略可能
関数の内容が複数行の場合、従来通り {} で囲む
即時実行
オブジェクトを返す
アロー関数はスコープ内の this の値を捕捉する
余談
GitHub の WebKit リポジトリにある JavaScriptCore に Arrow Functions に関する記述がある為、そのうち Safari でも実装されると思われます。