一尘不染

JavaScript ES6的箭头功能中的“ this”指的是什么?

javascript

我在几个地方读到,主要的区别是“ this在箭头函数中按词法绑定”。一切都很好,但是我实际上不知道那意味着什么。

我知道这意味着它在定义函数主体的大括号范围内是唯一的,但是我实际上无法告诉您以下代码的输出,因为我不知道所指的this是什么,除非它指的是胖箭头函数本身…。似乎没有用。

var testFunction = () => { console.log(this) };
testFunction();

阅读 342

收藏
2020-04-23

共1个答案

一尘不染

箭头函数捕获this封闭上下文的值

function Person(){
  this.age = 0;

  setInterval(() => {
    this.age++; // |this| properly refers to the person object
  }, 1000);
}

var p = new Person();

因此,要直接回答您的问题,this箭头函数内部的值将与分配箭头函数之前的值相同。

2020-04-23