Edg*_*gar 2 node.js typescript
这是我的代码
import {EventEmitter} from 'events';
var emt = new EventEmitter();
emt.on('myEvent', () => {
console.log('Arrow function: ')
console.log(this)
});
emt.emit('myEvent');
Run Code Online (Sandbox Code Playgroud)
在线console.log(this)我收到错误。
包含箭头函数捕获“this”的全局值。
是什么原因?如何修复它?
是什么原因?
与常规函数声明不同,箭头函数不会重新定义this。通常,这是一个巨大的便利。
在您的情况下,this仅意味着全局范围,因为没有其他上下文。如果您的函数位于另一个闭包内,this则会引用它而不是全局函数。
如何修复它?
您想用this这里吗?如果是这样,请使用window或任何您真正想要的。
| 归档时间: |
|
| 查看次数: |
7105 次 |
| 最近记录: |