JavaScript では、クラス定義内でメソッドがどのように動作するかを理解するために、「this」の概念が重要です。このトピックを詳しく調べるために、「this」がクラス メソッドの呼び出し時に作成されるオブジェクトではなく、呼び出し元クラスを参照するというステートメントを分析してみましょう。
In JavaScript では、関数を呼び出す 4 つの異なる方法があり、それぞれが「this」がどのようにバインドされるかを決定します:
コード例では、複数のオブジェクトを作成するクラス定義内のメソッドについて言及しました。オブジェクトリテラル表記を使用します。これらのオブジェクト内では、「this」ポインタが使用されます。あなたが観察した動作は、おそらく onRender メソッドの呼び出しパターンに由来しています。
onRender メソッドがクラス インスタンスのメソッドとして呼び出された場合 (メソッド呼び出し)、「this」は次のようにクラス インスタンスを参照します。望ましい動作です。ただし、onRender がクラス インスタンスのコンテキスト外で誤って関数として呼び出された場合 (関数呼び出し)、「this」は意図したクラス インスタンスではなくグローバル オブジェクトにバインドされます。これにより、予期しない動作が発生する可能性があります。
「this」を呼び出し元のオブジェクトまたは関数にバインドすることは、JavaScript の設計の基本的な側面です。これにより、呼び出しパターンに応じて「this」のコンテキストを操作できる、動的で柔軟なコードの作成が可能になります。
クラス メソッド内での「this」の動作は、次のとおりです。 JavaScript の関数呼び出しパターンの結果。さまざまなシナリオで「this」がどのようにバインドされるかを理解することで、コードが動作するコンテキストを制御し、潜在的な混乱を避けることができます。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3