ES6にfat-arrow関数(_=>
_)が追加されました。これらは通常の関数と2つの大きな違いがあります。
this
を継承これらはどちらも非常に便利な機能ですが、私はそれらの価値と用途が完全に分かれているように見えます。時には、どちらか一方、または両方、あるいは両方が必要な場合もあります。短い構文の関数を使用したい場合、this
- modifying動作も使用するhaveのは奇妙に思われます。およびその逆。これら2つの機能が言語への単一の追加として実装されている理由はわかりません。
暗黙的な戻り値と簡潔さのために短い構文関数を使用したい場合(完全なfunction (..) { return ...}
の方が少し読みにくいコンテキストでは)が、this
を使用したい場合呼び出しコンテキストを参照する関数?これを行う方法はありません。
CoffeeScriptには_->
_および_=>
_スタイル関数があり、ES6はそこから_=>
_スタイルを借用したようです。だから私の質問は、なぜES6は_->
_スタイルも借りなかったのですか?
矢印関数を追加するための提案を参照してください: http://wiki.ecmascript.org/doku.php?id=harmony:arrow_function_syntax1
それが言うことは:
ただし、CoffeeScriptは必要ありません->、2つの矢印があり、動的なこのバインディングが発砲の多いフットガンであると混乱します。
->構文も含まれていた以前のバージョンの提案の議論も見ることができます: https://esdiscuss.org/topic/arrow-function-syntax-simplified
次のようになります。
->
の動的なこのバインディングは、ほとんど役に立ちませんでした。