文章目录
箭头函数简介:
ES6允许使用箭头 =>
定义函数。
let demo = value => value+1;
//等同于
function demo(value){
return value+1;
}
如果函数没有参数或者有多个参数,要使用圆括号(),如果函数体有多条语句,要使用大括号{ }。
//无参数
let demo = () => 5;
//等同于
function demo(){
return 5;
}
//有多个参数
let demo = (value1,value2) => value1 + value2;
//等同于
function demo(value1,value2){
return value1 + value2;
}
//函数体有多条语句
let demo = () => {
let a = 123;
return a;
}
由于大括号被解释为代码块,所以如果箭头函数直接返回一个对象,必须在对象外面加上括号,否则会报错。
let demo = () => {a:1,name:"123"}; //报错----SyntaxError
let demo = () =>({a:1,name:"123"}); //不报错
实例:
箭头函数的一个用处是简化回调函数
//普通写法:
[1,2,3].map(function(value){
return value+1;
})
//箭头函数写法:
[1,2,3].map(value => value+1);
箭头函数使用时需要注意的点:
1.箭头函数中的this
指向定义时所在的对象,不是使用时所在的对象(箭头函数中,this
是固定不变的)。
2.不可以当作构造函数,即不可以使用new
命令。
3.不可以使用arguments
对象,因为箭头函数中没有arguments
对象,可以使用rest参数
代替。
4.不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
第一条最难理解: