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

DDD
リリース: 2024-10-18 16:00:05
オリジナル
358 人が閲覧しました

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」をスローすることで公式の仕様に従います。これは、引数アクセスに親スコープを採用する関数としてのアロー関数の意図された動作と一致しています。

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

以上がアロー関数または親スコープが関数の引数を定義するのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!