ES6はファットアロー関数(=>
)を追加しました。これには、通常の関数とは2つの大きな違いがあります。
- 短い構文(単一式の本体を使用する場合の暗黙的な戻りを含む)
this
周囲のスコープから継承する
これらは両方とも非常に便利な機能ですが、その価値とアプリケーションは完全に分離されているように見えます。私が短い構文の機能を使用したい場合は、私がいることを奇妙に思える持っても使用するthis
-modifying行動を。およびその逆。これら2つの機能が言語への単一の追加として実装されている理由はわかりません。
暗黙の戻り値と簡潔さのために短い構文関数を使用したい場合(完全なものfunction (..) { return ...}
が少し読みにくいコンテキストで)、this
呼び出し側のコンテキストを参照するために関数で使用したいのですが?これを行う方法はありません。
CoffeeScriptにはスタイル->
と=>
スタイルの両方の機能があり、明らかにES6 =>
はそこからスタイルを借用しているようです。私の質問は、なぜES6も->
スタイルを取り入れなかったのですか?
周囲のスコープだけが必要な場合は
—
ベン
this
、完全な関数宣言でクロージャーにいつでもバインドできます。これはあなたが心配している部分ではないかもしれません。
arguments
もあります。