ホームページ  >  記事  >  ウェブフロントエンド  >  ES6 Arrow Functions で Arguments オブジェクトはいつ使用できるようになりますか?

ES6 Arrow Functions で Arguments オブジェクトはいつ使用できるようになりますか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-18 15:58:02504ブラウズ

When is the Arguments Object Available in ES6 Arrow Functions?

ES6 Arrow Functions の Arguments オブジェクト: 公式ドキュメント

Arrow 関数は、その簡潔な構文ですぐに開発者の注目を集めました。ただし、疑問が生じている点の 1 つは、その中での引数オブ​​ジェクトの可用性です。

JavaScript 標準化の管理団体である TC39 の公式ドキュメントによると、アロー関数は独自の引数を作成しません。オブジェクト。通常の関数とは異なり、アロー関数は親スコープから引数オブジェクトを継承します。

この動作は、アロー関数が 3 つの引数で呼び出される次の例で明らかです。

<code class="js">(() => console.log(arguments))(1, 2, 3);</code>

環境内Chrome、Firefox、Node.js と同様に、このコードは「1,2,3」をログに記録します。ただし、Babel および他のバンドラーは、引数が定義されていないことを示すエラーを生成します。

この矛盾は、一部の環境ではアロー関数が親スコープの引数オブ​​ジェクトにアクセスできるのに対し、他の環境では ES6 の厳密な解釈が実装されているために発生します。この仕様では、アロー関数が独自の引数オブ​​ジェクトを持つことを禁止しています。

要約すると、TC39 の公式ドキュメント (ES6 仕様) には、アロー関数が独自の引数オブ​​ジェクトを持たないことが明確に記載されています。アロー関数が親スコープの引数にアクセスできる特定の環境で観察される動作は標準的ではなく、予期しない結果が生じる可能性があります。

以上がES6 Arrow Functions で Arguments オブジェクトはいつ使用できるようになりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。