Why you need arrow function
為什麼你需要箭頭函式?
前言
箭頭函式是 ES6 版本中新增的語法,如今已經非常廣泛的被使用,讀完這篇文章可以幫助你認識箭頭函式,並且了解這個語法的特性以及要注意的地方。
語法
要使用箭頭函式,如字面上的意思就是會使用長得像箭頭的符號 =>
來定義函式。以下是箭頭函式的語法範例:
functionName
為函式的名稱,parameter
為函式的參數,可以有多個參數,如果沒有參數,則使用空括號 ()
代替。
特性
箭頭函式具備一些有趣的特性,可以留意一下。
隱晦回傳 (Implicit Return)
一般函式都會需要回傳值,使用 return
關鍵字,如果沒有回傳值,則會回傳 undefined
。箭頭函式有一個特性,就是可以使用隱晦的方式來回傳值,顧名思義,就是不需要使用 return
關鍵字來回傳值,可參考以下範例:
不存在 arguments
箭頭函式沒有 arguments
參數是因其繼承了其父作用域的 arguments
物件。這意味著當在箭頭函式中引用 arguments
時,實際上是引用其父作用域中的 arguments
。我們可以使用以下的方式來獲得所有傳入匿名函數的參數。
不存在自身的 this
箭頭函式並沒有 this
因此如果訪問 this
,則會從外層作用域中繼承 this
。
實際用途
場合一:簡化程式碼
最常見的使用箭頭函式的方式就是可以讓程式碼更為精簡,但需要注意精簡的程式碼並不總是代表更好的閱讀性。在適當的情況下,使用箭頭函式來簡化程式碼是可行的,並沒有一個硬性的規則,端看偏好習慣。
場合二: 讓 this
指向外層作用域
就像前面全域蘋果和區域橘子的範例一樣,適當的使用箭頭函式可以讓 this
指向外層作用域,達成特定的目的。
總結
活用箭頭函式除了可以讓程式碼變得更加精簡外,本身也具備一些獨特的屬性值得探索!