语法
箭头函数由 函数参数
箭头
函数体
组成。
let func = value => value;
// 相当于
let func = function (value) {
return value;
}
多个参数必须加小括号
let sum = (num1, num2) => num1 + num2;
// 相当于
let sum = function (num1, num2) {
return num1 + num2;
}
多条语句必须加大括号
let sum = (num1, num2) => {
let res = num1 + num2;
return res;
};
// 相当于
let sum = function (num1, num2) {
let res = num1 + num2;
return res;
}
返回对象需要用小括号包起来,与函数体区分。
let person = (name) => ({ name: name, age: 18 });
// 相当于
let person = function (name) {
return {
name: name,
age: 18
};
}
this指向
箭头函数中没有this绑定,必须通过查找作用域链来决定其值。
如果箭头函数被非箭头函数包含,this绑定的是最近一层非箭头函数的this。否则,this的值会被设置为全局对象。
不能通过call、apply、bind方法改变this的值。