面試題系列---【箭頭函數和普通函數的區別?箭頭函數的優缺點?】


箭頭函數和普通函數的區別?

1.外形不同:箭頭函數使用箭頭定義,普通函數中沒有

2.箭頭函數都是匿名函數

3.箭頭函數不能用於構造函數,不能使用new**

4.箭頭函數中this的指向不同
(1)在普通函數中,this總是指向調用它的對象,如果用作構造函數,this指向創建的對象實例。

(2)箭頭函數本身沒有this,箭頭函數的 this 永遠指向其上下文的 this ,任何方法都改變不了其指向,如 call() , bind() , apply()

5.其他區別
(1)箭頭函數不能用作Generator函數,不能使用yeild關鍵字。
(2)箭頭函數不具有prototype原型對象。
(3)箭頭函數不具有super。
(4)箭頭函數不具有new.target。

(5)箭頭函數不能使用arguments對象。

注意:this一旦被捕獲,就不再發生變化

箭頭函數有什么優缺點?

優點:寫法很簡潔,不用再定義this

缺點:this指向會難以閱讀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM