高級之路篇十五:ES6之箭頭函數

MDN定義:箭頭函數表達式的語法比函數表達式更簡潔,並且沒有自己的thisargumentssuper或 new.target。這些函數表達式更適用於那些本來需要匿名函數的地方,並且它們不能用作構造函數。

與普通函數的區別:

1、表面上看,寫法更簡潔

2、沒有this,不會創建自己的this,它只會從自己的作用域鏈的上一層繼承this,無論是否嚴格模式。

3、沒有arguments,箭頭函數不綁定Arguments 對象,在大多數情況下,使用剩餘參數是相較使用arguments對象的更好選擇。

var f = (...args) => args[1]; 

4、不能用作構造器、構造函數,和 new一起用會拋出錯誤。

5、箭頭函數全都是匿名函數

6、在參數和箭頭之間不能換行

7、雖然箭頭函數中的箭頭不是運算符,但箭頭函數具有與常規函數不同的特殊運算符優先級解析規則。性能更好。

 

以下是相同點:

8、同樣可以形成閉包

9、同樣可以遞歸

 

mdn傳送門:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/Arrow_functions

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章