Significado de "esto" en los módulos y funciones de node.js
Tengo un archivo JavaScript que es cargado porrequire
.
// loaded by require()
var a = this; // "this" is an empty object
this.anObject = {name:"An object"};
var aFunction = function() {
var innerThis = this; // "this" is node global object
};
aFunction();
(function(anyParameter){
console.log(anyParameter.anObject);
})(
this // "this" is same having anObject. Not "global"
);
Mi pregunta es:this
en vara = this;
es un objeto vacío mientras quethis
Las declaraciones en funciones son sombras del objeto global node.js. Lo séthis
la palabra clave es diferente en funciones pero no pude entender por qué primerothis
no es igual a global ythis
en funciones es igual a global.
¿Cómo inyecta node.js?global
athis
en ámbitos de función, y ¿por qué no lo inyecta al ámbito del módulo?