这个'的价值是什么?从对象文字的箭头函数返回

时间:2017-07-15 20:15:40

标签: javascript node.js arrow-functions

在nodejs中运行时,从对象文字上的箭头函数返回的的值是多少。这个问题被问到here但是在nodejs中答案是不正确的。它不是全局的,在严格模式下不是未定义

以下是我正在运行的代码段:

"use strict";  // <-- Has no affect.
let a = {
  f: () => this
};

console.log(a.f())                          // {}
console.log(a.f() === global);              // false
console.log(a.f() === {});                  // false
console.log(a.f() === Object.create(null)); // false

更新

另一种说明我看到的内容的方法,在命令提示符下运行:

node -e "let a = { f: () => this }; console.log( a.f() === global);"  // returns true

现在,将上面字符串中代码的内容复制到 script.js 并通过以下方式运行:

node script.js  // returns false

0 个答案:

没有答案