Javascript 这一点在模块范围内指向何处?
这个在模块范围中引用了什么对象(我指的是node.js模块)Javascript 这一点在模块范围内指向何处?,javascript,node.js,this,Javascript,Node.js,This,这个在模块范围中引用了什么对象(我指的是node.js模块) 它没有引用模块对象,所以它指向哪里?奇怪的是,它等于模块。导出 console.log(this === module.exports); // => true 我个人认为这是愚蠢的。但事实就是这样 我不知道为什么我们有3次提到同一件事此,导出和模块。导出都引用相同的对象 我最好的猜测是它是向后兼容的。我可能很容易就错了。你知道这是什么原因吗?它应该等于过程@self,我不同意,如果我喜欢这个===全局在浏览器根范围内的方式这
它没有引用
模块
对象,所以它指向哪里?奇怪的是,它等于模块。导出
console.log(this === module.exports); // => true
我个人认为这是愚蠢的。但事实就是这样
我不知道为什么我们有3次提到同一件事<代码>此,导出
和模块。导出
都引用相同的对象
我最好的猜测是它是向后兼容的。我可能很容易就错了。你知道这是什么原因吗?它应该等于
过程
@self,我不同意,如果我喜欢这个===全局
在浏览器根范围内的方式这个===窗口
。并不是说我认为我会这么做;只是为了保持一致性。或者,让它成为未定义的,因为它毫无意义。进程是全局对象,尽管这不是真的<代码>控制台.log(进程===gloabal);//=>false
您指的是node.js模块还是ES6模块?
console.log(this === module.exports); // => true