下面的代码输出结果是( )

const obj = {
    a: 1,
  b: 2,
  sum: () => {
    return this.a + this.b;
  }
};
console.log(obj.sum());
29 次浏览
  • A、3
  • B、undefined
  • C、NaN
  • D、null
箭头函数的 this 指向 指向的是 函数外层的 this == 等同于上一层非箭头函数的this值或全局对象 我们可以用一种方法来判断 箭头函数 this 的指向,我们可以把函数给去掉,变成如下的形式,来判断 this 是指向什么 const obj = { a: 1, b: 2, sum: this }; 很明显,这里的 this 指向的是 window 而 window 中 没有 属性 a 和 b 所以 相当于输出的是 undefined + undefined 因为存在 加号 进行了隐式类型转换,从而产生的结果未 NaN
挑战成功
一周前

微信公众号

有课学公众号
  • 微信公众号: geekdaxue