Node.js モジュールと関数における "this" の意味
Node.js では、"this" の値は、
モジュールのスコープvs. 関数スコープ
-
モジュール スコープ: Node.js モジュール (require() によってロードされる) 内では、「this」は module.exports を参照します。デフォルトでは空のオブジェクト。
-
関数スコープ: 関数内、 "this" はグローバル オブジェクトを指します (厳密モードを除く)。
関数呼び出し
- 関数内の "this" の値
- 関数を直接呼び出すと (例: aFunction())、非厳密モードでグローバル オブジェクトに "this" を設定します。
- メソッドとして関数を呼び出すと (obj.aFunction() など)、"this" がオブジェクト インスタンスに設定されます。
- Using関数を呼び出すためのbind()、call()、またはapply()では、「this」値を指定できます。
挿入されたグローバル オブジェクト
- Node.js は、関数スコープの "this" にグローバル オブジェクトを挿入します。
- これは、関数は通常、特定のオブジェクト コンテキストなしで呼び出されるからです。
- ただし、 (Node.js によって作成された) モジュール ラッピング関数が明示的に「this」を module.exports.
に割り当てるため、「this」はモジュール スコープに挿入されません。
以上が「this」キーワードは Node.js モジュールおよび関数でどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。