開発者の皆さん、JavaScript の this
キーワードは、特に複雑なシナリオでは少し扱いにくいことがわかりました。 理解を深め、さまざまな状況 (コードやドキュメントをレビューするときなど) での動作をすばやく把握するために、この簡潔なリファレンスを作成しました。
this
について覚えておくべき重要なポイント:
function myFunction() {}
) の this
はグローバル window
オブジェクトに設定されます。 Node.js では、これはグローバル オブジェクトです。 これは、特定のコンテキスト内で呼び出された場合にのみ変更されます:.bind()
、.call()
、または .apply()
を使用して明示的にバインドされます。() => {}
) は、周囲の (囲んでいる) 通常の関数のスコープ (字句 this
) から this
を継承します。これは理解することが非常に重要です。this
は、実行時ではなく、作成 時に決定されます。 オブジェクト メソッド内にある場合でも、その this
は、最も近い囲みの 通常 関数から取得されます。this
の不変性: アロー関数には固定された不変の this
がありますが、通常の関数の this
は動的であり、バインディング メソッドを使用して変更できます。this
は常に new MyClass()
を使用して作成されたクラスのインスタンスを参照します。これは関数の種類に関係なく一貫しています。お気軽に貢献したり、不正確な点を修正したり、さらなる洞察を追加したりしてください。 建設的なフィードバックはいつでも大歓迎です!
以上が通常のこれ、矢印のこれ (箇条書き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。