是在 ES6 增加的一種函數定義方式,語法相對更簡潔更加容易閱讀,
箭頭函數使用 => 來定義,視情況可以省略 function & return 關鍵字
以下是在撰寫箭頭函數時要注意的部分:
一般的箭頭函數 () => {}
let addNum = function (n) {
return n + 1
}
若只有一個參數可省略小括號
let addNum = n => {
return n + 1
}
只有一行的話可以省略大括號 & return 關鍵字,代表直接 return
let addNum = n => n + 1
若要 return 物件,需要用小括號包起來
let getInfo = () => ({name:'Peter', age:18})
let getInfo = () => {name:'Peter', age:18} // error
定義完立即執行的函式
會產生一個局部作用域,避免函式名稱和變數名稱的衝突
(function () {
// ...
})()
若是去看框架、套件的原始碼應該有看過開頭與結尾被()包住的寫法,那就是 IIFE 程式碼被立即函式包著,目的就是怕套件中的變數污染到開發者的全域環境