- 箭头函数的参数使用()包含,如果只有一个参数则可以省略(),
() => {...}
(a, b, c) => {...}
x => {...}
- 箭头函数的代码段使用{}包含,如果只有一条返回语句,则可以省略{return ...},如果返回值为对象,因为对象的{}会被解析成代码段,所以需要在对象外面包裹一层()
x => x
// 等价于
function(x) {
return x;
}
() => ({a:1, b:2})
(a, b) => {
let c = a + b;
return c;
}
3.箭头函数支持解构赋值和扩展运算
({a,b}) => a + b;
// 等价于
function(obj) {
returm obj.a + obj.b;
}
(...rest) => rest;
- 箭头函数的this是静态的,继承自外层代码块的this,因为其不具有自己的this,所以不能使用apply、call、bind等方法改变this。
- 箭头函数不能作为构造函数使用,即不使用new命令。
- 箭头函数不包含arguments对象,可以使用rest替代,也没有super、new.target变量,分别指向外层函数的对应变量。
- 箭头函数不能作为Generator函数,不可以使用yield命令。
网友评论