Signification de "this" dans les modules et fonctions Node.js
Dans Node.js, la valeur de "this" peut varier en fonction sur le contexte dans lequel il est utilisé.
Portée du module par rapport à la fonction Scope
-
Module Scope : Dans un module Node.js (chargé par require()), "this" fait référence à module.exports, qui est un objet vide par défaut.
-
Portée de la fonction : A l'intérieur d'une fonction, "this" fait référence à l'objet global (sauf en strict mode).
Invocation de fonction
- La valeur de "this" dans une fonction est déterminée par la manière dont elle est invoquée.
- L'appel direct d'une fonction (par exemple, aFunction()) définit "this" sur l'objet global en langage non strict mode.
- L'appel d'une fonction en tant que méthode (par exemple, obj.aFunction()) définit "this" sur l'instance de l'objet.
- Utilisation de bind(), call() ou apply( ) pour invoquer une fonction vous permet de spécifier explicitement la valeur "this".
Injected Global Object
- Node.js injecte l'objet global dans "this" dans les étendues de fonction.
- En effet, les fonctions sont généralement invoquées sans contexte d'objet spécifique.
- Cependant, "this" n'est pas injecté dans la portée du module car la fonction d'emballage de module (créée par Node.js) attribue explicitement "this" à module.exports.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!