/

JavaScript 表達式

JavaScript 表達式

表達式是可以被評估並解析為值的代碼單位。JavaScript 中的表達式可以分為各種類別。

算術表達式

屬於這個類別的表達式都會計算為一個數字:

1
2
3
4
1 / 2
i++
i -= 2
i * 2

字串表達式

計算為字串的表達式:

1
'A ' + 'string'

基本表達式

這個類別包括變數引用、字面量和常數:

1
2
3
4
5
6
7
8
2
0.02
'something'
true
false
this // 當前物件
undefined
i // i 為變數或常數

還有一些語言中的關鍵字:

1
2
3
4
5
6
7
8
9
function
class
function* // 產生器函數
yield // 產生器暫停/恢復運行
yield* // 委派給另一個產生器或迭代器
async function* // 异步函數表達式
await // 異步函數暫停/恢復/等待完成
/pattern/i // 正則表達式
() // 分組

陣列和物件初始化表達式

1
2
3
4
5
[] // 陣列字面量
{} // 物件字面量
[1,2,3]
{a: 1, b: 2}
{a: {b: 1}}

邏輯表達式

邏輯表達式使用邏輯運算符並產生布林值:

1
2
3
a && b
a || b
!a

左邊表達式

1
2
3
new // 創建一個構造函數的實例
super // 調用父類的構造函數
...obj // 使用展開運算符的表達式

查看 展開運算符 教程

屬性存取表達式

1
2
3
object.property // 引用對象的屬性(或方法)
object[property]
object['property']

物件創建表達式

1
2
3
new object()
new a(1)
new MyRectangle('name', 2, {a: 4})

函數定義表達式

1
2
3
4
5
function() {}
function(a, b) { return a * b }
(a, b) => a * b
a => a * 2
() => { return 2 }

調用表達式

呼叫函數或方法的語法:

1
2
a.x(2)
window.resize()

tags: [“JavaScript”, “Expressions”, “Arithmetic expressions”, “String expressions”, “Primary expressions”, “Array and object initializers expressions”, “Logical expressions”, “Left-hand-side expressions”, “Property access expressions”, “Object creation expressions”, “Function definition expressions”, “Invocation expressions”]