「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > アロー関数または親スコープが関数の引数を定義するのはどのような場合ですか?

アロー関数または親スコープが関数の引数を定義するのはどのような場合ですか?

2024 年 11 月 7 日に公開
ブラウズ:124

When Do Arrow Functions or the Parent Scope Define the Arguments of a Function?

ES6 アロー関数の引数: 公式説明

ES6 アロー関数では、引数キーワードの動作が議論の的となっています。一部のブラウザとプラットフォーム (Chrome、Firefox、Node など) は初期の TC39 推奨事項から逸脱しており、仕様の正しい解釈について疑問が生じています。

公式の ES6 仕様によると、アロー関数には独自の機能がありません。独自の引数がそのスコープ内でバインドされます。アロー関数は、呼び出されたときに、宣言のインスタンス化プロセスの一部として引数オブジェクトを作成しません。

これは、アロー関数で引数オブジェクトを作成する Chrome、Firefox、Node などのブラウザで観察される動作と矛盾します。その結果、これらのブラウザは、外側の関数に渡される引数へのアクセスを誤って提供します。一方、

Babel は、アロー関数内で引数がアクセスされると「ReferenceError」をスローすることで公式の仕様に従います。これは、引数アクセスに親スコープを採用する関数としてのアロー関数の意図された動作と一致しています。

したがって、アロー関数には専用の引数バインディングがないというのが正しい理解です。開発者は、アロー関数を使用するときに、渡された引数にアクセスするには、囲んでいる関数によって提供される引数オブジェクトを使用する必要があります。

リリースステートメント この記事は次の場所に転載されています: 1729238355 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3