我有一个javascript文件
console.log(this); // undefined
这是一个未定义的给予。
console.log(this); // {}
它给出了一个空的module.exports对象。
我的问题是-为什么在es6导入/导出的情况下没有定义。
在ES6模块中(使用export
和import
声明),this
关键字默认为值undefined
-没有它应该引用的合理对象。这也使我们认识到了更多的错误,您无意中引用了模块的This
(例如,在对象文本中编写箭头函数),但本应具有动态的This
或其他东西--代码在访问undefined
上的属性时中断,而不是访问其他对象上的属性。
在CommonJS模块中(使用module.exports
和require()
),它指的是模块对象--看看nodejs模块中的“this”是什么意思?或node.js模块和函数中“this”的含义。