ES6允許使用箭頭來定義功能。它的基本語法是:參數= >函數體;(參數)= > {函數體}。
當arrow函數只有壹個參數時,它的括號可以省略。但是當沒有或超過1個參數時,必須有括號。當arrow函數內部只有壹個語句並且需要返回結果時,可以省略大括號。
當它返回壹個對象時,為了區分代碼塊,括號必須放在對象外面。arrow函數不能用於創建對象,也就是說,它不能是新的,並且會報告壹個錯誤。註意:這個箭頭函數不同於前面的函數。不能通過call()等方法修改這種指向。
在arrow函數中,這將指向其最近嵌套級別的方法和函數對象。所以回調函數中常用箭頭函數的特性來封裝回調函數。註意:arrow函數中沒有參數來獲取所有參數。您可以通過(...休息)。此外,箭頭函數中不存在super和new.target。
箭頭功能的特點:
1.與普通函數相比,arrow函數的語法更簡單。
2.如果函數沒有綁定到this,它將在其上下文中捕獲this作為它自己的this。
3.arrow函數是匿名函數,不能用作構造函數。不能使用new命令,否則將會引發錯誤。
4.arrow函數不與參數綁定,而是用rest參數求解,沒有super和new.target。
5.使用調用、應用和綁定不會改變箭頭函數中的指向。
6.箭頭函數沒有原型屬性。
7.不能使用yield關鍵字或將其用作生成器函數。