ES6箭头函数


1. 概念

箭头函数指的是使用箭头=>语法声明的匿名函数。

2. 简写

箭头函数诞生就是为了简写,有如下规则:

(1)当你的箭头函数仅有一个参数的时候,可以省略掉括号。

(2)当你的函数仅有一个表达式的时候,可以省略{}和return,注意省略return要先省略{}。

(3)但(2)如果返回值是object类型,则不能为x => { name: ‘JT’ },,需要改为x => ({ name: ‘JT’ })。

var who = name => 'hello' + name

3. 区别

与普通函数的区别:

(1) 语法不同,箭头函数使用箭头定义,写法简洁。 普通函数使用function定义。

(2) this指向不同,箭头函数是定义时绑定,普通函数是调用时绑定。

箭头函数没有this,在声明的时候,捕获上下文的this供自己使用,一旦确定不会再变化。在普通函数中,this指向调用自己的对象,如果用在构造函数,this指向创建的对象实例。普通函数可以使用call,apply,bind改变this的指向。

(3) 是否匿名,箭头函数都是匿名函数,而普通函数既可以是匿名函数,也可以是具名函数。

(4) 箭头函数没有arguments(实参列表,类数组对象),可以使用rest参数替代。每一个普通函数在调用后都有一个arguments对象,用来存储实际传递的参数。

(5) 箭头函数不能作为构造函数来使用,普通函数可以用作构造函数,以此来创建一个对象的实例。因为箭头函数没有自己的this,而且匿名函数无法使用new。

(6) 箭头函数没有原型,而普通函数有。因为它不需要作为构造函数,被这样设计。


文章作者: iamfugui
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 iamfugui !
评论
  目录