表達式是可以被評估並解析為值的代碼單位。JavaScript 中的表達式可以分為各種類別。
算術表達式
屬於這個類別的表達式都會計算為一個數字:
1 / 2
i++
i -= 2
i * 2
字串表達式
計算為字串的表達式:
'A ' + 'string'
基本表達式
這個類別包括變數引用、字面量和常數:
2
0.02
'something'
true
false
this // 當前物件
undefined
i // i 為變數或常數
還有一些語言中的關鍵字:
function
class
function* // 產生器函數
yield // 產生器暫停/恢復運行
yield* // 委派給另一個產生器或迭代器
async function* // 异步函數表達式
await // 異步函數暫停/恢復/等待完成
/pattern/i // 正則表達式
() // 分組
陣列和物件初始化表達式
[] // 陣列字面量
{} // 物件字面量
[1,2,3]
{a: 1, b: 2}
{a: {b: 1}}
邏輯表達式
邏輯表達式使用邏輯運算符並產生布林值:
a && b
a || b
!a
左邊表達式
new // 創建一個構造函數的實例
super // 調用父類的構造函數
...obj // 使用展開運算符的表達式
查看 展開運算符 教程
屬性存取表達式
object.property // 引用對象的屬性(或方法)
object[property]
object['property']
物件創建表達式
new object()
new a(1)
new MyRectangle('name', 2, {a: 4})
函數定義表達式
function() {}
function(a, b) { return a * b }
(a, b) => a * b
a => a * 2
() => { return 2 }
調用表達式
呼叫函數或方法的語法:
a.x(2)
window.resize()