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