ES6 アロー関数: 引数の使用法の明確化
ES6 アロー関数での引数の使用法に関して、実装が競合しているため混乱が生じています。主要なブラウザと Babel。この記事は、この問題に関する公式の立場を明確にすることを目的としています。
動作の異常
アロー関数では、引数は親スコープから値を継承する必要があります。ただし、Chrome、Firefox、Node などのブラウザはこの原則に違反し、アロー関数が独自の引数オブジェクトを作成できるようにします。
公式ドキュメント
公式 ECMA-262 仕様(ES6) は、「指定されたステートメント、アロー関数は、スコープ内にバインディングする独自の引数を持たない。呼び出し時に引数オブジェクトは作成されない。」と明示的に述べています。これは、アロー関数が引数にアクセスするために親スコープのみに依存する必要があることを意味します。
ブラウザ実装
公式仕様にもかかわらず、Chrome、Firefox、Node は次のことを選択しています。このルールは無視されますが、バベルはそれを遵守します。これにより、次の矛盾が生じます。
正しい使用法
混乱を避け、異なる環境間での互換性を確保するには、公式仕様に従うことが重要です。アロー関数は独自の引数オブジェクトを持つべきではなく、アロー関数内の引数への参照は親スコープを参照する必要があります。
以上がES6 でアロー関数は独自の引数オブジェクトを作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。