test = () => { console.log('Yup.'); }
問題: 中間的 () 代表什麼意思?
這是 ES6 箭頭函數 語法。() 表示參數列表,此處為無參數。完整對應的 ES5 寫法如下:
test = function() {
console.log('Yup.');
};
| 特性 | 說明 |
|---|---|
| 參數列表 | () 無參,(x) 單參可省略括號,(x, y) 多參必須加括號 |
| 函數體 | { ... } 包含多條語句需加大括號並显式 return;單一表達式可省略大括號與 return |
| this 綁定 | 詞法作用域:捕獲定義時上下文的 this,不隨調用方式改變 |
| 不可作為構造函數 | 不能使用 new 調用,無 prototype 屬性 |
| 無 arguments 對象 | 需使用剩餘參數 (...args) => { ... } 替代 |
// 帶參數
const add = (a, b) => a + b; // 隱式返回
const greet = name => { console.log(name); }; // 單參省略括號
// 物件字面量返回需加括號
const createUser = (id, name) => ({ id, name });
() => { ... } 中的 () 即參數佔位符。箭頭函數簡化語法並修復 this 指向問題,是現代 JavaScript 開發的核心特性之一。