1.编写方式
let xx = item =>item 单条语句可以省略return和{},单个参数可以省略()
2.箭头函数不能作为构造函数
let A=()=>{}; let a = new A();报错
function A(){}; let a = new A();不报错
3.arguments
arguments的一般使用场景是:允许传入3个参数,中间一个参数是可选。如果只传1个参就是参数1用,传入2个参就是参数1和参数3用
let A = function(a){
console.log(arguments)
}
A(1,2,3)
结果:1,2,3
let A = (a) => console.log(arguments)
A(1,2,3)
结果:报错
rest传参
rest默认是[],多余的传参会加入数组
let A = (...a) => console.log(a)
A(1,2,3)
结果:1,2,3
4.this指向
箭头函数内的this指向上层对象,bind()、call()、apply()均无法改变指向。箭头函数没有原型属性。
普通函数内的this执行调用其函数的对象。