表示式和運算子

本章記錄了所有 JavaScript 語言運算子、表示式和關鍵字。

按類別劃分的表示式和運算子

按字母順序排列的列表請參閱左側邊欄。

主要表示式

JavaScript 中的基本關鍵字和通用表示式。這些表示式具有最高的優先順序(高於運算子)。

this

this 關鍵字指代執行上下文的一個特殊屬性。

字面量

基本的 null、布林值、數字和字串字面量。

[]

陣列初始化器/字面量語法。

{}

物件初始化器/字面量語法。

function

function 關鍵字定義函式表示式。

class

class 關鍵字定義類表示式。

function*

function* 關鍵字定義生成器函式表示式。

async function

async function 定義非同步函式表示式。

async function*

async function* 關鍵字定義非同步生成器函式表示式。

/ab+c/i

正則表示式字面量語法。

`string`

模板字面量語法。

( )

分組運算子。

左側表示式

左值是賦值的目的地。

屬性訪問器

成員運算子提供對物件屬性或方法的訪問(object.propertyobject["property"])。

?.

如果引用為空值nullundefined),可選鏈運算子返回 undefined 而不是引發錯誤。

new

new 運算子建立建構函式的例項。

new.target

在建構函式中,new.target 指代由 new 呼叫的建構函式。

import.meta

向 JavaScript 模組公開上下文特定元資料的物件。

super

super 關鍵字呼叫父建構函式或允許訪問父物件的屬性。

import()

import() 語法允許將模組非同步和動態載入到潛在的非模組環境中。

遞增和遞減

字尾/字首遞增和字尾/字首遞減運算子。

A++

字尾遞增運算子。

A--

字尾遞減運算子。

++A

字首遞增運算子。

--A

字首遞減運算子。

一元運算子

一元運算是隻有一個運算元的運算。

delete

delete 運算子從物件中刪除屬性。

void

void 運算子評估表示式並丟棄其返回值。

typeof

typeof 運算子確定給定物件的型別。

+

一元加號運算子將其運算元轉換為 Number 型別。

-

一元取反運算子將其運算元轉換為 Number 型別,然後取反。

~

按位非運算子。

!

邏輯非運算子。

await

暫停和恢復非同步函式,並等待 Promise 的 fulfilled/rejected 狀態。

算術運算子

算術運算子將其運算元(字面量或變數)作為數值,並返回一個數值。

**

指數運算子。

*

乘法運算子。

/

除法運算子。

%

餘數運算子。

+(加)

加法運算子。

-

減法運算子。

關係運算符

比較運算子比較其運算元,並根據比較是否為真返回布林值。

<(小於)

小於運算子。

>(大於)

大於運算子。

<=

小於或等於運算子。

>=

大於或等於運算子。

instanceof

instanceof 運算子確定一個物件是否是另一個物件的例項。

in

in 運算子確定一個物件是否具有給定屬性。

注意: => 不是運算子,而是箭頭函式的表示法。

相等運算子

根據比較是否為真,相等運算子的評估結果始終為布林型別。

==

相等運算子。

!=

不相等運算子。

===

嚴格相等運算子。

!==

嚴格不相等運算子。

位移位運算子

移動運算元所有位的操作。

<<

按位左移運算子。

>>

按位右移運算子。

>>>

按位無符號右移運算子。

二進位制按位運算子

按位運算子將其運算元視為一組 32 位(零和一),並返回標準 JavaScript 數值。

&

按位與。

|

按位或。

^

按位異或。

二進位制邏輯運算子

邏輯運算子實現布林(邏輯)值並具有短路行為。

&&

邏輯與。

||

邏輯或。

??

空值合併運算子。

條件(三元)運算子

(condition ? ifTrue : ifFalse)

條件運算子根據條件的邏輯值返回兩個值之一。

賦值運算子

賦值運算子根據其右運算元的值將其值賦給其左運算元。

=

賦值運算子。

*=

乘法賦值。

/=

除法賦值。

%=

餘數賦值。

+=

加法賦值。

-=

減法賦值

<<=

左移賦值。

>>=

右移賦值。

>>>=

無符號右移賦值。

&=

按位與賦值。

^=

按位異或賦值。

|=

按位或賦值。

**=

指數賦值。

&&=

邏輯與賦值。

||=

邏輯或賦值。

??=

空值合併賦值。

[a, b] = arr, { a, b } = obj

解構允許您使用類似於陣列或物件字面量的語法將陣列或物件的屬性分配給變數。

yield 運算子

yield

暫停和恢復生成器函式。

yield*

委託給另一個生成器函式或可迭代物件。

擴充套件語法

...obj

擴充套件語法允許在預期零個或多個引數(用於函式呼叫)或元素(用於陣列字面量)的位置展開可迭代物件,例如陣列或字串。在物件字面量中,擴充套件語法列舉物件的屬性並將鍵值對新增到正在建立的物件中。

逗號運算子

,

逗號運算子允許在單個語句中評估多個表示式,並返回最後一個表示式的結果。

規範

規範
ECMAScript® 2026 語言規範
# sec-void-operator
ECMAScript® 2026 語言規範
# sec-equality-operators
ECMAScript® 2026 語言規範
# sec-exp-operator
ECMAScript® 2026 語言規範
# prod-ArgumentList
ECMAScript® 2026 語言規範
# prod-LogicalORExpression
ECMAScript® 2026 語言規範
# sec-generator-function-definitions-runtime-semantics-evaluation
ECMAScript® 2026 語言規範
# prod-OptionalExpression
ECMAScript® 2026 語言規範
# prod-PropertyDefinition
ECMAScript® 2026 語言規範
# prod-BitwiseXORExpression
ECMAScript® 2026 語言規範
# sec-multiplicative-operators
ECMAScript® 2026 語言規範
# sec-grouping-operator
ECMAScript® 2026 語言規範
# sec-conditional-operator
ECMAScript® 2026 語言規範
# sec-destructuring-assignment
ECMAScript® 2026 語言規範
# sec-destructuring-binding-patterns
ECMAScript® 2026 語言規範
# sec-assignment-operators
ECMAScript® 2026 語言規範
# sec-typeof-operator
ECMAScript® 2026 語言規範
# sec-logical-not-operator
ECMAScript® 2026 語言規範
# sec-postfix-decrement-operator
ECMAScript® 2026 語言規範
# sec-signed-right-shift-operator
ECMAScript® 2026 語言規範
# sec-relational-operators
ECMAScript® 2026 語言規範
# prod-CoalesceExpression
ECMAScript® 2026 語言規範
# prod-BitwiseORExpression
ECMAScript® 2026 語言規範
# sec-addition-operator-plus
ECMAScript® 2026 語言規範
# sec-unary-plus-operator
ECMAScript® 2026 語言規範
# sec-left-shift-operator
ECMAScript® 2026 語言規範
# sec-unary-minus-operator
ECMAScript® 2026 語言規範
# sec-async-function-definitions
ECMAScript® 2026 語言規範
# sec-null-value
ECMAScript® 2026 語言規範
# sec-built-in-function-objects
ECMAScript® 2026 語言規範
# sec-import-calls
ECMAScript® 2026 語言規範
# sec-unsigned-right-shift-operator
ECMAScript® 2026 語言規範
# sec-this-keyword
ECMAScript® 2026 語言規範
# prod-ImportMeta
ECMAScript® 2026 語言規範
# sec-comma-operator
ECMAScript® 2026 語言規範
# prod-BitwiseANDExpression
ECMAScript® 2026 語言規範
# sec-super-keyword
ECMAScript® 2026 語言規範
# prod-YieldExpression
ECMAScript® 2026 語言規範
# sec-delete-operator
ECMAScript® 2026 語言規範
# prod-SpreadElement
ECMAScript® 2026 語言規範
# sec-postfix-increment-operator
ECMAScript® 2026 語言規範
# sec-generator-function-definitions
ECMAScript® 2026 語言規範
# sec-class-definitions
ECMAScript® 2026 語言規範
# sec-function-definitions
ECMAScript® 2026 語言規範
# prod-LogicalANDExpression
ECMAScript® 2026 語言規範
# sec-subtraction-operator-minus
ECMAScript® 2026 語言規範
# sec-property-accessors
ECMAScript® 2026 語言規範
# sec-bitwise-not-operator
ECMAScript® 2026 語言規範
# sec-object-initializer
ECMAScript® 2026 語言規範
# sec-new-operator
ECMAScript® 2026 語言規範
# sec-async-generator-function-definitions
HTML
# import-meta-resolve

瀏覽器相容性

另見