多读多写多记录,多学多练多思考。----------- Grapefruit.Banuit Gang(香柚帮)
先来说说为什么要用箭头函数吧:
首先使用箭头函数可以大大的缩减我们的代码,
其次可以改变this的指向问题。
下面我们来看一下是如何缩减代码的:
//我们先写一个函数
const double1 = function(number){
return number * 2;
}
//用箭头函数的
const double2 = (number) => {
return number * 2;
}
//还可以缩减的更少,继续缩减是:
const double3 = (number) => number * 2;
//再往下还可以缩减
const double4 = number => number * 2;
//也可以用括号括起来
const double5 = (number => number * 2);
//如果有两个参数
const double6 = (number,number2) => number + number2;
//当然里面如果有操作的话,就不能再缩减那么多了
const double = (number,number2) => {
sum = number + number2
return sum;
}
console.log(double(20,20));
// map一个数组,让数组中的值以double形式展现
const numbers = [1,2,3];
var newNumbers = numbers.map(number => number * 2);
// console.log(newNumbers);
这么一看是不是缩减了很多代码,
下面我们再看一下this的指向:
//不使用箭头函数
const team1 = {
members:["Henry","Elyse"],
teamName:"es6",
teamSummary:function(){
let self = this;
return this.members.map(function(member){
// this不知道该指向谁了
return `${member}隶属于${self.teamName}小组`;
})
}
}
const team2 = {
members:["Henry","Elyse"],
teamName:"es6",
teamSummary:function(){
return this.members.map(function(member){
// this不知道该指向谁了
return `${member}隶属于${this.teamName}小组`;
}.bind(this))
}
}
//箭头函数
const team = {
members:["Henry","Elyse"],
teamName:"es6",
teamSummary:function(){
return this.members.map((member) => {
// this指向的就是team对象
return `${member}隶属于${this.teamName}小组`;
})
}
}
console.log(team.teamSummary());
好了就是这些,理解一下,希望能帮助到一些朋友