箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this
,arguments
,super
或new.target
。箭头函数表达式更适用于那些本来需要匿名函数的地方,并且它不能用作构造函数。
箭头函数的好处
一、 箭头函数语法
(1)删掉function关键字加上=>
(2)没有参数加括号
(3)一个参数可以选择不加()
(4)多个参数必须加(),并且参数之间用逗号分割。
二、隐式返回
三、箭头函数不绑定this,会捕获其所在的上下文的this值,作为自己的this值。
将map括号内的函数更改为箭头函数。
箭头函数不宜使用的场景
一、箭头函数是匿名函数,不能作为构造函数,不能使用new
二、创建对象方法时,应该使用function()
三、绑定事件的时候
四、箭头函数不绑定arguments,取而代之用可变参数解决。
五、箭头函数没有原型属性箭头,函数不能当做Generator函数,不能使用yield关键字
总结:
1:箭头函数的 this 永远指向其上下文的 this ,任何方法都改变不了其指向,如 call() , bind() , apply()
2:普通函数的this指向调用它的那个对象。
3:当你不需要用构造函数创建对象,不需要创建对象方法,不需要为元素绑定事件时,不需要绑定arguments时。我们就可以尽情的用箭头函数啦 。
链接:https://www.jianshu.com/p/69e1adf43802