JavaScript

JavaScript this.

this

 thisは、実行時に決定される特殊なキーワードです。thisは、現在の実行コンテキスト(関数やメソッドなどが呼び出された際の状況)に基づいて、実行じに値が決まります。thisがどのように動作するかを理解するには、コンテキストの種類について考える必要があります。

 一般的に、以下のような状況で this が使用されます。

グローバルコンテキスト
スクリプトの最初のレベルにあるコードは、グローバルコンテキスト内で実行されます。この場合、thisは windowオブジェクトを参照します。
関数コンテキスト
関数が呼び出された場合、thisはグローバルオブジェクトではなく、その関数が呼び出されたコンテキストに基づいて設定されます。ただし、関数が厳密なモードで呼び出された場合、thisは underfinedに設定されます。
メソッドコンテキスト
オブジェクトのメソッドが呼び出された場合、thisはメソッドが属するオブジェクトに設定されます。
コンストラクタコンテキスト
newキーワードを使用してコンストラクタが呼び出された場合、thisは新しいインスタンスオブジェクトに設定されます。
イベントハンドラコンテキスト
DOM要素に関連するイベントが発生した場合、thisはイベントをトリガーした DOM要素に設定されます。

 thisの値は、実行時に決まるため、コードを実行する前に正確に予測することはできません。thisの動作に慣れるには、さまざまなコンテキストでコードをテストし、値の変化を確認することが重要です。