表达式和运算符

本章记录了所有JavaScript语言操作符、表达式和关键字。

按类别列出的表达式和运算符

有关按字母顺序排列的列表,请参阅左侧的侧栏。

主要表达式

JavaScript中的基本关键字和通用表达式。这些表达式具有最高优先级(高于操作员).

这个关键字是指执行上下文的特殊属性。

直接常量

基本无效的、布尔值、数字和字符串文字。

[]

数组初始值设定项/文字语法。

{}

对象初始值设定项/文字语法。

功能

这个功能关键字定义函数表达式。

这个关键字定义类表达式。

功能*

这个功能*关键字定义生成器函数表达式。

异步函数

这个异步函数定义异步函数表达式。

异步函数*

这个异步函数*关键字定义异步生成器函数表达式。

/ab+c/i

正则表达式文字语法。

`字符串`

模板文字语法。

( )

分组运算符。

左侧表达式

左边的值是赋值的目的地。

属性访问器

成员运算符提供对对象属性或方法的访问(对象属性对象[“属性”]).

?.

可选的链接运算符返回未定义而不是在引用使无效(无效的未定义).

新的

这个新的运算符创建构造函数的实例。

新目标

在施工人员中,新目标引用由调用的构造函数新的.

导入.meta

向JavaScript模块公开上下文特定元数据的对象。

超级的

这个超级的关键字调用父构造函数或允许访问父对象的属性。

导入()

这个导入()语法允许将模块异步动态加载到潜在的非模块环境中。

递增和递减

后缀/前缀递增和后缀/前缀递减运算符。

一个++

后缀增量运算符。

A类--

后缀减量运算符。

++A类

前缀增量运算符。

--A类

前缀减量运算符。

一元运算符

一元运算是只有一个操作数的运算。

删除

这个删除运算符从对象中删除属性。

空隙

这个空隙运算符计算表达式并丢弃其返回值。

类型

这个类型运算符确定给定对象的类型。

+

一元加号运算符将其操作数转换为Number类型。

-

一元求反运算符将其操作数转换为Number类型,然后对其求反。

~

按位NOT运算符。

!

逻辑NOT运算符。

等待

暂停并恢复异步功能,等待承诺的实现/拒绝。

算术运算符

算术运算符将数值(文字或变量)作为其操作数,并返回单个数值。

**

指数运算符。

*

乘法运算符。

/

除法运算符。

%

剩余运算符。

+(加号)

加法运算符。

-

减法运算符。

关系运算符

比较运算符比较其操作数,并根据比较是否为真返回布尔值。

<(小于)

少于操作员。

>(大于)

大于运算符。

<=

小于或等于运算符。

>=

大于或等于运算符。

运算符

这个运算符运算符确定一个对象是否是另一个对象的实例。

在里面

这个在里面运算符确定对象是否具有给定的属性。

注: =>不是运算符,而是箭头函数.

相等运算符

根据比较是否为真,计算相等运算符的结果始终为布尔类型。

==

相等运算符。

!=

不等式运算符。

===

严格相等运算符。

!==

严格不等式运算符。

按位移位运算符

移位操作数的所有位。

<<

按位左移位运算符。

>>

按位右移运算符。

>>>

按位无符号右移运算符。

二进制逐位运算符

按位运算符将其操作数视为一组32位(零和一),并返回标准JavaScript数值。

&

按位AND。

|

按位OR。

^

按位异或。

二进制逻辑运算符

逻辑运算符实现布尔(逻辑)值并具有短路行为。

&&

逻辑与。

||

逻辑OR。

??

Nullish合并操作员。

条件(三元)运算符

(条件?ifTrue:ifFalse)

条件运算符根据条件的逻辑值返回两个值中的一个。

赋值运算符

赋值运算符根据其右操作数的值为其左操作数赋值。

=

赋值运算符。

*=

乘法赋值。

/=

部门分配。

%=

剩余分配。

+=

加法赋值。

-=

减法赋值

<<=

左移位分配。

>>=

右移分配。

>>>=

未签名的右移分配。

&=

按位AND赋值。

^=

按位异或赋值。

|=

按位OR赋值。

**=

指数赋值。

&&=

逻辑与赋值。

||=

逻辑OR赋值。

??=

Nullish合并赋值。

[a,b]=arr,{a,b}=对象

析构化赋值允许您使用类似于数组或对象文字的语法将数组或对象的属性赋给变量。

收益率运营商

产量

暂停并恢复发电机功能。

产量*

委托给另一个生成器函数或可迭代对象。

Spread语法

…对象

Spread语法允许在需要零个或多个参数(用于函数调用)或元素(用于数组文字)的位置展开可迭代的数组或字符串。在对象文字中,传播语法枚举对象的属性,并将键值对添加到正在创建的对象。

逗号运算符

,

逗号运算符允许在单个语句中计算多个表达式,并返回最后一个表达式的结果。

规格

规范
ECMAScript语言规范
#sec-addition-运算符-plus
ECMAScript语言规范
#二级分配操作员
ECMAScript语言规范
#秒同步功能定义
ECMAScript语言规范
#秒同步发电机功能定义
ECMAScript语言规范
#prod位与表达式
ECMAScript语言规范
#二次非操作员
ECMAScript语言规范
#生产BitwiseORExpression
ECMAScript语言规范
#prod-双向XORexpression
ECMAScript语言规范
#sec-class定义
ECMAScript语言规范
#安全命令操作员
ECMAScript语言规范
#辅助条件操作员
ECMAScript语言规范
#sec-postfix递减运算符
ECMAScript语言规范
#秒删除运算符
ECMAScript语言规范
#二次结构分配
ECMAScript语言规范
#二次构造绑定模式
ECMAScript语言规范
#sec-multiplicative运算符
ECMAScript语言规范
#sec-equality操作符
ECMAScript语言规范
#sec-exp运算符
ECMAScript语言规范
#sec函数定义
ECMAScript语言规范
#第二代函数定义
ECMAScript语言规范
#次相关运算符
ECMAScript语言规范
#二次分组运算符
ECMAScript语言规范
#sec-import调用
ECMAScript语言规范
#prod-ImportMeta产品
HTML标准
#主机导入属性
ECMAScript语言规范
#sec-postfix-increment-运算符
ECMAScript语言规范
#sec-left-shift运算符
ECMAScript语言规范
#prod-LogicalAND表达式
ECMAScript语言规范
#sec-logical-not运算符
ECMAScript语言规范
#prod-LogicalOR表达式
ECMAScript语言规范
#第二新操作员
ECMAScript语言规范
#二次建造功能对象
ECMAScript语言规范
#秒整值
ECMAScript语言规范
#prod-Coalesce表达式
ECMAScript语言规范
#秒对象初始化器
ECMAScript语言规范
#prod-Optional表达式
ECMAScript语言规范
#安全访问器
ECMAScript语言规范
#第二位右移操作员
ECMAScript语言规范
#prod-扩散元件
ECMAScript语言规范
#prod-参数列表
ECMAScript语言规范
#产品属性定义
ECMAScript语言规范
#sec-牵引-操作员-分钟
ECMAScript语言规范
#sec超级关键字
ECMAScript语言规范
#sec-this-关键字
ECMAScript语言规范
#sec运算符类型
ECMAScript语言规范
#秒-一减运算符
ECMAScript语言规范
#二级加运营商
ECMAScript语言规范
#二次指定右移操作员
ECMAScript语言规范
#sec-void运算符
ECMAScript语言规范
#prod-Yield表达式
ECMAScript语言规范
#第二代函数定义运行时语义评估

浏览器兼容性

BCD表仅在浏览器中加载

另请参见