- 箭头函数
箭头函数表达式的语法比函数表达式更简洁。并且没有自己的this。箭头函数更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。 箭头函数的作用:
1.箭头函数的语法比函数表达式更简洁。
2.箭头函数可以解决this指向问题。箭头函数不会创建自己的this,它只会从自己的作用域链向上一层继承this。
箭头函数的使用场景:
1.简单的函数表达式,内部没有this引用,没有递归,事件绑定,解绑定。
2.需要调用this,且this指向和上一层作用域链保持一致时。如保证指向vue实例对象。
// 箭头函数的定义
let multiply = (x, y) => { return x * y; }
multiply就是函数名,x和y是形参,{ return x * y; }是函数体。这个箭头函数的功能是将输入的两个参数相乘并返回结果。
箭头函数有一些特点和限制需要注意:
- 箭头函数有更加简洁的语法。
- 箭头函数不绑定自己的this,会捕获其所在上下文的this作为自己的this。
- 箭头函数是匿名函数,不能用作构造函数,使用new调用箭头函数会引发TypeError。
- 箭头函数没有独立的arguments、super绑定。
简化箭头函数:
// 正常函数写法
[1,2,3].map(function (x) {
return x * x;
});
// 箭头函数写法
[1,2,3].map(x => x * x); //[1,4,9]
当箭头函数的函数体只有一条返回语句时,可以省略花括号和return关键字:
const square = x => x * x;
const getName = person => person.name;