ホームページ  >  記事  >  ウェブフロントエンド  >  jsでのこれの定義

jsでのこれの定義

下次还敢
下次还敢オリジナル
2024-05-07 20:45:29940ブラウズ

これは、コードが実行されるコンテキスト オブジェクトを表す特別なキーワードであり、オブジェクトのプロパティとメソッドへのアクセスを許可します。 this の型は呼び出し位置によって異なります。つまり、オブジェクト メソッドではオブジェクトを指し、グローバル関数ではグローバル オブジェクトを指し、アロー関数は外側スコープの this 値を継承し、厳密モードでは unfineed を指します。これを特定のオブジェクトにバインドする必要がある場合は、bind() メソッドを使用できます。アロー関数は独自の this 値を持たず、外部スコープの this 値を継承します。

jsでのこれの定義

##JavaScript での this の定義

JavaScript では、

this は特別なキーワードです。コードが現在実行されているコンテキスト オブジェクトを表します。これにより、オブジェクトがどのように呼び出されたかに関係なく、現在のオブジェクトのプロパティとメソッドにアクセスできるようになります。

のタイプ

this のタイプは、コード内のどこで呼び出されるかによって異なります:

  • Method: オブジェクトのメソッドで呼び出される場合、this はオブジェクトを指します。
  • グローバル関数: グローバル関数で呼び出される場合、this はグローバル オブジェクト (通常は window オブジェクト) を指します。
  • アロー関数: アロー関数には独自の this 値はありませんが、外部スコープの this 値を継承します。
  • strict モード: strict モードでは、明示的にオブジェクトにバインドされていない限り、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 で広く使用されています。

    プロパティとメソッドにアクセスするオブジェクト
  • イベント ハンドラーを特定のオブジェクトにバインドする
  • 再利用可能なコードを作成する
  • オブジェクト指向プログラミングを実装する

その他の手順

  • this は JavaScript の予約キーワードと競合するため、変数名としては絶対に使用しないでください。
  • 厳密モー​​ドでは、
  • this は常に unknown を指すため、偶発的なコンテキストの切り替えを防ぐことができます。
  • this キーワードを理解することは、堅牢で保守可能な JavaScript コードを作成するために重要です。

以上がjsでのこれの定義の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。