13.1 概览

箭头函数有两个好处。

第一个,没有传统函数那么啰嗦:

let arr = [1, 2, 3];
let squares = arr.map(x => x * x);

// Traditional function expression:
let squares = arr.map(function (x) { return x * x });

第二个, this 从父作用域(词法的)中拉取。因此,不再需要使用 bind() 或者 that = this

function UiComponent {
    let button = document.getElementById('myButton');
    button.addEventListener('click', () => {
        console.log('CLICK');
        this.handleClick(); // lexical `this`
    });
}

下面的变量都是词法范围的:

  • arguments
  • super
  • this
  • new.target

results matching ""

    No results matching ""