this
什么对象在模块范围内引用(我指的是node.js模块)?这点指向模块范围?
console.log(this);
console.log(this === module); //false
它没有参考module
对象,所以它指向哪里?
this
什么对象在模块范围内引用(我指的是node.js模块)?这点指向模块范围?
console.log(this);
console.log(this === module); //false
它没有参考module
对象,所以它指向哪里?
奇怪的是,它等于module.exports
console.log(this === module.exports); // => true
就个人而言,我认为这是愚蠢的。但是它就是这样啊。
我不知道为什么我们有引用相同的确切的事情。 this
,exports
和module.exports
都引用同一个对象。
我最好的猜测是它有一些向后兼容性。我很容易在这个问题上出错。
你知道这是什么原因吗? –
它应该等于'process' –
@self,我不同意,如果有的话,我希望'this === global'就像浏览器根范围内的this === window'一样。不是我认为我会这么做;只是为了某种一致性。或者说,它是不确定的,因为它没有任何该死的感觉。 – naomik
你是指node.js模块还是ES6模块? – Bergi
node.js模块 –