ECMAScript中的箭头函数 (=>) 使用注意事项

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的thisargumentssuper或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。

箭头函数的形式:

var multiply  = (a,b) => a*b;

console.log(multiply(1,2));   // 2

使用时要注意的点:

1. 函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。即箭头函数能够获得外围上下文的this值。

例如:

page({

  A:function(){

       wx.login({

    success:function(res){

      console.log(this)                    // 此情况下    this = wx.login

      }

    })

  },

  B:funnction(){

    wx.login({

      success:res=>{

        console.log(this)               //此情况下      this = Page

      }

    })

  }

})

2. 箭头函数可以嵌套

3. 不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误

4. 不可以使用arguments对象,该对象在函数体内不存在,如果要用,可以用rest参数代替

5. 不可以使用yield命令,因此箭头函数不能用作Generator函数

建议:

1. 能使用箭头函数的地方,不使用Function定义

2. 函数的success,fail,complete回调用箭头函数

3. 除了Page,App的生命周期使用function定义,其他都使用箭头函数

原文地址:https://www.cnblogs.com/xiaohaodeboke/p/11626136.html