gpt4 book ai didi

node.js - 包含箭头函数捕获全局值 'this'

转载 作者:行者123 更新时间:2023-12-02 16:51:26 24 4
gpt4 key购买 nike

这是我的代码

import {EventEmitter} from 'events';
var emt = new EventEmitter();

emt.on('myEvent', () => {
console.log('Arrow function: ')
console.log(this)
});

emt.emit('myEvent');

console.log(this) 行我得到错误。

The containing arrow function captures the global value of 'this'.

这是什么原因?如何解决?

最佳答案

What is the reason?

与常规函数声明不同,箭头函数不会重新定义 this。通常,这是一个巨大的便利。

在您的情况下,this 仅表示全局范围,因为没有其他上下文。如果您的函数在另一个闭包中,this 将引用它而不是全局。

How to fix it?

你是想在这里使用 this 吗?如果是这样,请使用 window 或您真正想要的任何内容。

关于node.js - 包含箭头函数捕获全局值 'this',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58531976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com