美文网首页
airbnb入门(三)

airbnb入门(三)

作者: 我_巨可爱 | 来源:发表于2017-10-30 16:29 被阅读0次

ES6 arrow function

rest参数

  1. ...params形式的参数,被称为rest参数。
  2. ...params中params是数组,可以使用数组的所有方法。
  3. ...params形式的参数,必须是参数的最后一个。

基本用法

//箭头函数
f = v => v;
  1. 第一个f代表函数名。匿名函数时,可省略。
  2. 第一个v代表函数参数。有一个时,直接写。有多个时,可用小括号包裹。没有时,用空括号。
  3. 第二个v代表返回v,等价于return v。当有多条语句时,使用大括号和return。一条语句时,省略大括号和return。
  4. 箭头函数可以使用对象解构,可以使用rest参数。
  5. 返回对象时,需要添加小括号。

简化回调函数

// 回调函数多是匿名函数
const arr = [1,2];
// arr.map(匿名函数);
arr.mao(v=>v*v);

注意点

  1. 箭头函数中this指向的是定义时所处的作用域。因此不可变,有利于封装回调函数。
  2. 箭头函数不能当做构造函数。
  3. 箭头函数中不能使用arguments。
  4. 箭头函数不能使用yield命令,因此不能做generator函数。
// this
function Timer () {
  this.s1 = 0;
  this.s2 = 0;
  setInterval(() => this.s1++,1000);
  setInterval(function(){
    this.s2++;
  },1000)
}
var timer = new Timer();
setTimeout(() => console.log('s1: ', timer.s1), 3100);
setTimeout(() => console.log('s2: ', timer.s2), 3100);

分析与总结:

  1. 对于箭头函数而言,this指向定义时的作用域。
  2. 当创建对象时,箭头函数中this指向构造函数,并执行3次。
  3. 当创建对象时, 匿名函数中this指向全局对象。
  4. 当不创建对象时,箭头函数和匿名函数都指向window。

箭头函数可以嵌套

Arrow Functions

  1. 需要匿名函数时,优先使用箭头函数。报错,prefer-arrow-callback
  2. 函数体,单个语句,需要省略括号和return。报错,arrow-parenarrow-body-style
  3. 参数换行导致的多行,外部添加小括号。
  4. 当参数只有一个时,是否省略括号需要参考函数体。当函数体省略时,参数的也省略。报错,arrow-paren
  5. 函数体单个语句时,语句中有<或者>或者<=或者=>需要添加小括号。报错,no-confusing-function

相关文章

网友评论

      本文标题:airbnb入门(三)

      本文链接:https://www.haomeiwen.com/subject/ujfmpxtx.html