ES6箭头函数
首先看一段代码
x => x * x
这是ES6的写法,相当于
function (x) {
return x * x;
}
箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种像上面的,只包含一个表达式,连{ ... }
和return
都省略掉了。还有一种可以包含多条语句,这时候就不能省略{ ... }
和return
。
x => {
if (x > 0) {
return x * x;
}
else {
return - x * x;
}
}
箭头函数还完美的解决了this
作用域的问题
function foo() {
setTimeout(() => {
console.log('id:', this.id);
}, 100);
}
var id = 21;
foo.call({
id: 42
});
// id: 42
如果这里的setTimeout
不使用箭头函数的话,this
将指向的是window
,但是使用了箭头函数,this
就指向了函数定义生效时所在的对象,这里的对象就是{id: 42}
,所以输出的结果为42
。
- 本博客所有文章除特别声明外,均可转载和分享,转载请注明出处!
- 本文地址:https://www.leevii.com/?p=686