匿名函數與箭頭函數的區別


1. 箭頭函數不能當作構造函數,即不能使用new命令

2.箭頭函數要實現類似純函數的效果,必須剔除外部狀態。所以當你定義一個箭頭函數,在普通函數里常見的thisargumentscaller是統統沒有的。

什么情況下該使用箭頭函數

《You Don’t Know JS》給出了一個決策圖: arrow

  1. 箭頭函數適合於無復雜邏輯或者無副作用的純函數場景下,例如用在mapreducefilter的回調函數定義中;
  2. 不要在最外層定義箭頭函數,因為在函數內部操作this會很容易污染全局作用域。最起碼在箭頭函數外部包一層普通函數,將this控制在可見的范圍內;
  3. 如開頭所述,箭頭函數最吸引人的地方是簡潔。在有多層函數嵌套的情況下,箭頭函數的簡潔性並沒有很大的提升,反而影響了函數的作用范圍的識別度,這種情況不建議使用箭頭函數。

 


免責聲明!

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



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