ES2015箭頭函數(shù)與普通函數(shù)對比理解

直接返回表達式
var odds = evens.map(v => v + 1);
var nums = evens.map((v, i) => v + i);
var odds = evens.map(function (v) {
  return v + 1;
});
var nums = evens.map(function (v, i) {
  return v + i;
});
包含語句
nums.forEach(v => {
  if (v % 5 === 0)
    fives.push(v);
});
nums.forEach(function (v) {
  if (v % 5 === 0) fives.push(v);
});
包含this

不用修正箭頭函數(shù)的this,this自動指向所在的上下文對象

var bob = {
  _name: "Bob",
  _friends: [],
  printFriends() {
    this._friends.forEach(f =>
      console.log(this._name + " knows " + f));
  }
};

對比非箭頭函數(shù)的寫法會更容易理解一些:

var bob = {
  _name: "Bob",
  _friends: [],
  printFriends: function printFriends() {
    var _this = this; // 需要修正this指向

    this._friends.forEach(function (f) {
      return console.log(_this._name + " knows " + f);
    });
  }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容