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对象
上一篇下一篇

猜你喜欢

热点阅读