ES6-箭头函数(Arrow Function),默认赋值,不定
2018-04-19 本文已影响0人
element_web
ES6标准的函数写法
x => x*2
//相当于
function(x){
return x*2;
}
上述写法相当于一个匿名函数,只有一条语句的情况下省略了 “{ }”和“return”;但是如果有多条语句还是不能省略
x=>{
if(x>0){
return "正数";
}else{
return "非正数"
}
}
没有参数的写法
()=>1
多个参数
(x,y,z)=> x+y+z
如果要返回一个对象
(a)=>({key:a})
默认赋值
(x=100)=> console.log(x)
rest 不定参数 类似es5 arguments作用
(...rest)=>console.log(rest)
//这个函数会把你传入的全部参数按数组打印出
this关键字的绑定
let demo = {
fun(){
let innerFun = function(){
console.log(this); //这里会打印出 window
}
return innerFun();
}
}
demo.fun();
let demo= {
fun(){
let innerFun = ()=>{
console.log(this); //这里会打印出 demo对象
}
return innerFun();
}
}
demo.fun();
注意
- 箭头函数不能当作构造函数
- 箭头函数不能用作Generator函数
- 箭头函数里面没有arguments对象