概念
在es6中,我们被允许使用箭头()=>
来定义函数。箭头函数多用于匿名函数的定义。
箭头函数的特点主要是保持上下文指针一致。
箭头函数的写法
// 多参数
let a = (num1, num2) => num1 * num2;
// 可变参数
let sum = (num1, num2, ...rest) => {
let result = num1 + num2;
for (let i = 0; i < rest.length; i++) {
result += rest[i];
}
return result;
};
箭头函数不适用场景
- 对象的方法。
- 原型方法。
- 事件的回调。
- 构造函数。
箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。
这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。
总的来说,箭头函数适合与this无关的定时器等方法,而不适用于与this有关的回调。