Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Node.js中箭头函数的上下文_Javascript_Node.js_Arrow Functions - Fatal编程技术网

Javascript Node.js中箭头函数的上下文

Javascript Node.js中箭头函数的上下文,javascript,node.js,arrow-functions,Javascript,Node.js,Arrow Functions,考虑以下示例: const f1 = () => this; function f2() { return this; } console.log(f1(), f2()); 在浏览器中执行此代码时,结果如下: > window window 但是,当在Node.js中执行此代码时,结果并不完全符合预期: > {} global 为什么在Node.js中,空对象被视为arrow函数的上下文而不是全局对象(Global,在这个平台上)?在nodejs中,当您使用a

考虑以下示例:

const f1 = () => this;

function f2() {
    return this;
}

console.log(f1(), f2());
在浏览器中执行此代码时,结果如下:

> window window
但是,当在Node.js中执行此代码时,结果并不完全符合预期:

> {} global

为什么在Node.js中,空对象被视为arrow函数的上下文而不是全局对象(
Global
,在这个平台上)?

在nodejs中,当您使用arrow操作符时,this操作符本质上不会包含引用对象……如果我们想使用“this”引用任何变量,这是为什么,我们避免在函数定义中使用箭头运算符

因此,在您的情况下,这就是它打印空对象的原因