特点
- 写法简单
- 可以解决this的指向问题。
- 对于高阶函数的写法比较简单。
书写规则。
- 箭头函数没有关键字function
- 箭头函数小括号与大括号之间用=>链接
- 如果参数只有一个,小括号可以省略
- 如果没有return,可以不写大括号。
- 箭头函数中没有arguments.
let fn=(a)=>{
return a;
}
//省略小括号
let fn=a=>{
return a;
}
//没有return
let fn=a=>a
- 如果直接返回一个对象,要在对象外面加一个小括号避免混淆
let fn=(a)=>{
return {'name':a};
}
let fn=a=>({'name':a})
- ...叫做剩余运算符,表示把多余的都放在最后一个。
let fn = (x, ...args) => {
console.log(...args)//2 3 4 5
}
fn(1, 2, 3, 4, 5)
- 函数参数可以设置默认值。
let fn = (a = 1, b = 2) => {
console.log(a, b)//1 2
}
fn()