码迷,mamicode.com
首页 > 其他好文 > 详细

ES6 - 箭头函数

时间:2019-12-05 01:20:31      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:ble   sel   team   log   ret   number   OLE   改变   turn   

/**
 * 1.箭头函数语法
 */
const double1 = function (number) {
  return number * 10;
}

const double2 = (number) => {
  return number * 20;
}

const double3 = (number) => number * 30;

console.log(double1(2)); //20
console.log(double2(2)); //40
console.log(double3(2)); //60

var sum = (num1, num2) => num1 + num2;
//  有效等价于:
// var  sum =   function(num1,  num2)   {
//              return  num1    +   num2;
// };

var getTempItem = id => ({ id: id, name: "Temp" });
//  有效等价于:
// var  getTempItem =   function(id)    {
//   return {
//           id:    id,
//           name:  "Temp"
//   };
// };

/**
 * 2.箭头函数改变this指向
 */

 /**
  * 2.1 self方法
  */
const team1 = {
  members: ["Henry", "Elyse"],
  teamName: "es6",
  teamSummary: function () {
    let self = this;
    return this.members.map(function(member) {
      // this不知道该指向谁了
      return ` ${member}隶属于${self.teamName}小组`;
    })
  }
}

/**
 * 2.2 bind 硬编码
 */
const team2 = {
  members: ["Henry", "Elyse"],
  teamName: "es6",
  teamSummary: function () {
    return this.members.map(function(member) {
      // this不知道该指向谁了
      return ` ${member}隶属于${this.teamName}小组`;
    }.bind(this))
  }
}

/**
 * 2.3 箭头函数
 */
const team3 = {
  members: ["Henry", "Elyse"],
  teamName: "es6",
  teamSummary: function () {
    let self = this;
    return this.members.map((member) => {
      return ` ${member}隶属于${this.teamName}小组`;
    })
  }
}

console.log(team1.teamSummary()); //[" Henry隶属于es6小组", " Elyse隶属于es6小组"]
console.log(team2.teamSummary()); //[" Henry隶属于es6小组", " Elyse隶属于es6小组"]
console.log(team3.teamSummary()); //[" Henry隶属于es6小组", " Elyse隶属于es6小组"]

ES6 - 箭头函数

标签:ble   sel   team   log   ret   number   OLE   改变   turn   

原文地址:https://www.cnblogs.com/tangge/p/11986511.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!