在 es6 中,提供了⼀种简洁的函数写法,我们称作“箭头函数”。
写法:函数名=(形参)=>{……} 当函数体中只有⼀个表达式时,{}和 return 可以省略,当函数体中形参只有⼀个时,()可以省略。
特点:箭头函数中的 this 始终指向箭头函数定义时的离 this 最近的⼀个函数,(也就是他的父级)如果没有最近的函数就指向 window。
- 区别:
1. 箭头函数不能⽤于构造函数,不能使⽤ new ⽽普通函数是可以的
2. 在普通函数中,this 总是指向调⽤它的对象,如果⽤作构造函数,this 指向创建的对象实例,
⽽箭头函数指向箭头函数定义时的离 this 最近的⼀个函数,也就是他的父级,如果没有最近的函数就指向 window。
3.箭头函数没有 arguments对象:每一个普通函数调用后都有一个
arguments 对象,用来存储实际传递的参数。但是箭头函数并没有此对象。
在箭头函数里面不具有 arguments,所以箭头函数不能使用 arguments
let fn = (...a)=>{
console.log(arguments);报错
console.log(a);
}
fn(1,2,3,4,5,6,7,8,9,10)