これは、コードが実行されるコンテキスト オブジェクトを表す特別なキーワードであり、オブジェクトのプロパティとメソッドへのアクセスを許可します。 this の型は呼び出し位置によって異なります。つまり、オブジェクト メソッドではオブジェクトを指し、グローバル関数ではグローバル オブジェクトを指し、アロー関数は外側スコープの this 値を継承し、厳密モードでは unfineed を指します。これを特定のオブジェクトにバインドする必要がある場合は、bind() メソッドを使用できます。アロー関数は独自の this 値を持たず、外部スコープの this 値を継承します。
##JavaScript での this の定義
JavaScript では、this は特別なキーワードです。コードが現在実行されているコンテキスト オブジェクトを表します。これにより、オブジェクトがどのように呼び出されたかに関係なく、現在のオブジェクトのプロパティとメソッドにアクセスできるようになります。
のタイプ
this のタイプは、コード内のどこで呼び出されるかによって異なります:
はオブジェクトを指します。
はグローバル オブジェクト (通常は
window オブジェクト) を指します。
値はありませんが、外部スコープの
this 値を継承します。
は常に
unknown を指します。
Bind this
コードの異なる部分で同じthis 値を使用する必要がある場合があります。これを行うには、
bind() メソッドを使用して
this を特定のオブジェクトにバインドします。
<code class="js">const person = { name: "John", greet: function() { console.log(this.name); } }; const greetFunction = person.greet.bind(person); greetFunction(); // 输出: John</code>
Arrow 関数と this
アロー関数には独自のthis 値はありませんが、外部スコープの
this 値を継承します。これにより予期しない動作が発生する可能性があるため、アロー関数内で
this を使用することは避けることをお勧めします。
ユースケース
thisキーワードは、次の目的で JavaScript で広く使用されています。
その他の手順
は JavaScript の予約キーワードと競合するため、変数名としては絶対に使用しないでください。
は常に
unknown を指すため、偶発的なコンテキストの切り替えを防ぐことができます。
キーワードを理解することは、堅牢で保守可能な JavaScript コードを作成するために重要です。
以上がjsでのこれの定義の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。