我有一个 javascript 文件
console.log(this); // undefined
它给出了未定义的。
console.log(this); // {}
它给出了一个空的 module.exports 对象。
我的问题是 - 为什么在 es6 导入/导出的情况下给出 undefined 。
在 ES6 模块(使用export
和import
声明)中,this
关键字默认为值undefined
- 没有它应该引用的合理对象。这也让我们认识到更多的错误,其中您不小心引用this
了模块的 的(例如,在对象字面量中编写箭头函数)但意味着具有动态this
或其他东西 - 访问属性时代码中断undefined
,而不是访问某个其他对象的属性。
如果要从模块引用全局对象,请显式使用globalThis
。
在 CommonJS 模块(使用module.exports
and require()
)中,它指的是模块对象 - 请参阅nodejs 模块中的“this”是什么意思?或node.js 模块和函数中“this”的含义。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句