JavaScript
JavaScript this.
this
thisは、実行時に決定される特殊なキーワードです。thisは、現在の実行コンテキスト(関数やメソッドなどが呼び出された際の状況)に基づいて、実行じに値が決まります。thisがどのように動作するかを理解するには、コンテキストの種類について考える必要があります。
一般的に、以下のような状況で this が使用されます。
- グローバルコンテキスト
- スクリプトの最初のレベルにあるコードは、グローバルコンテキスト内で実行されます。この場合、thisは windowオブジェクトを参照します。
- 関数コンテキスト
- 関数が呼び出された場合、thisはグローバルオブジェクトではなく、その関数が呼び出されたコンテキストに基づいて設定されます。ただし、関数が厳密なモードで呼び出された場合、thisは underfinedに設定されます。
- メソッドコンテキスト
- オブジェクトのメソッドが呼び出された場合、thisはメソッドが属するオブジェクトに設定されます。
- コンストラクタコンテキスト
- newキーワードを使用してコンストラクタが呼び出された場合、thisは新しいインスタンスオブジェクトに設定されます。
- イベントハンドラコンテキスト
- DOM要素に関連するイベントが発生した場合、thisはイベントをトリガーした DOM要素に設定されます。
thisの値は、実行時に決まるため、コードを実行する前に正確に予測することはできません。thisの動作に慣れるには、さまざまなコンテキストでコードをテストし、値の変化を確認することが重要です。