ES6 アロー関数の "this" を理解する
JavaScript では、this の値は使用されるコンテキストによって異なります。アロー関数を使用する場合、this の動作を決定する「字句制限」の概念が関連します。
アロー関数は、定義されている周囲のコンテキストから this の値を継承します。通常の関数とは異なり、アロー関数はこれに対する独自のスコープを作成しません。次のコードを考えてみましょう。
var testFunction = () => { console.log(this); }; testFunction();
ここで、アロー関数 testFunction は、囲んでいるコンテキスト (この場合はグローバル スコープ) から this の値を取得します。したがって、console.log(this) はグローバル オブジェクトを出力します。
対照的に、通常の関数は this 用に独自のスコープを作成できます。例:
function Person() { this.age = 0; const increaseAge = function() { this.age++; // `this` refers to the Person object }; increaseAge(); } const p = new Person();
この例では、increaseAge 関数が Person コンストラクター内にネストされています。これが呼び出されるとき、this は new キーワードで作成されたため、そのインスタンスを参照します。
要約すると、アロー関数は、囲んでいるコンテキストから this の値を継承し、一貫性が保たれるようにします。周囲のコード。この動作は、独自のスコープを作成する通常の関数とは異なります。この重要な違いを理解することは、JavaScript 開発内のアロー関数でこれを適切に処理するために非常に重要です。
以上がES6 のアロー関数では、通常の関数と比べて「this」の動作がどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。