提问者:小点点

使用ES6导入/导出时nodejs中“this”的含义


我有一个javascript文件

  1. 当我使用es6导入/导出并执行
console.log(this); // undefined

这是一个未定义的给予。

console.log(this); // {}

它给出了一个空的module.exports对象。

我的问题是-为什么在es6导入/导出的情况下没有定义。


共1个答案

匿名用户

在ES6模块中(使用exportimport声明),this关键字默认为值undefined-没有它应该引用的合理对象。这也使我们认识到了更多的错误,您无意中引用了模块的This(例如,在对象文本中编写箭头函数),但本应具有动态的This或其他东西--代码在访问undefined上的属性时中断,而不是访问其他对象上的属性。

在CommonJS模块中(使用module.exportsrequire()),它指的是模块对象--看看nodejs模块中的“this”是什么意思?或node.js模块和函数中“this”的含义。