類別:前端相關
| 發布於 2025-06-22 20:29
箭頭函式運算式(Arrow Function
Expression)
介紹
是 JavaScript 中的一種簡化函式語法,使用 => 來定義函式。
相較於傳統函式(function),箭頭函式提供語法簡潔的寫法,並且 this
的綁定行為有所不同。
語法
基本語法
簡化語法(單一運算式可省略大括號與 return)
單一參數可省略括號
無參數時需保留括號
this 的綁定行為
箭頭函式的 this 是靜態綁定的,會繼承外層作用域的 this,而非根據執行時上下文決定。
與傳統函式比較:
arguments 在箭頭函式中的使用
箭頭函式不具備自己的 arguments,會繼承外層普通函式的 arguments
如果箭頭函式不是包在普通函式中,直接使用
arguments 會報錯
解法:使用展開運算符 ...args
來取得參數列表
函式的內建變數比較
| 特性 |
普通函式 (function) |
箭頭函式 (=>) |
arguments |
✅ 有 |
❌ 無 |
| 函式參數 (a, b) |
✅ 有 |
✅ 有 |
...args 展開運算符 |
✅ 有 |
✅ 有 |
arguments 範例(普通函式)
注意事項
- 箭頭函式無法用作建構子(constructor),使用
new
調用會報錯。
- 箭頭函式無法使用
yield,因此不能用作 Generator 函式。
- 箭頭函式常用於:短小函式、Array 操作中的 callback(如
map, filter 等)、避免
this 混淆的非同步場景。
參考資料
箭頭函式運算式(Arrow Function Expression)
介紹
語法
基本語法
簡化語法(單一運算式可省略大括號與 return)
單一參數可省略括號
無參數時需保留括號
this的綁定行為與傳統函式比較:
arguments在箭頭函式中的使用箭頭函式不具備自己的
arguments,會繼承外層普通函式的arguments如果箭頭函式不是包在普通函式中,直接使用
arguments會報錯解法:使用展開運算符
...args來取得參數列表函式的內建變數比較
function)=>)arguments...args展開運算符arguments範例(普通函式)注意事項
new調用會報錯。yield,因此不能用作 Generator 函式。map,filter等)、避免this混淆的非同步場景。參考資料