表达式和运算符
该章节说明了 JavaScript 语言所有的运算符、表达式和关键字。
表达式和运算符分类
要查看按字母顺序排列的列表,请参阅左边的侧边栏。
主要表达式
JavaScript 中的基本关键字和常用表达式。这些表达式具有最高的优先级(高于运算符)。
this
-
this
关键字指向执行上下文的特殊属性。 - 字面量
-
基本的
null
、布尔、数字和字符串字面量。 []
-
数组初始化或字面量语法。
{}
-
对象初始化或字面量语法。
function
-
function
关键字定义了函数表达式。 class
-
class
关键字定义了类表达式。 function*
-
function*
关键字定义了一个生成器函数表达式。 async function
-
async function
定义一个异步函数表达式。 async function*
-
async function*
定义了一个异步生成器函数表达式。 /ab+c/i
-
正则表达式字面量语法。
`string`
-
模版字面量语法。
( )
-
分组运算符。
左表达式
左边的值是赋值的目标。
- 属性访问符
-
成员运算符用于访问对象的属性或方法(
object.property
和object["property"]
)。 ?.
new
-
new
运算符创建了构造函数实例。 new.target
-
在构造函数中,
new.target
指向new
调用的构造函数。 import.meta
-
向 JavaScript 模块暴露特定上下文的元数据属性的对象。
super
-
super
关键字调用父类的构造函数或用于访问父类对象的属性。 import()
-
import()
语法允许将模块异步且动态地加载到可能为非模块环境的上下文中。
自增和自减
一元运算符
算术运算符
关系运算符
相等运算符
位移运算符
二进制位运算符
二元逻辑运算符
条件(三元)运算符
(condition ? ifTrue : ifFalse)
-
条件运算符返回两个值中符合条件逻辑值的那个值。
赋值运算符
Yield 运算符
展开语法
...obj
-
展开语法允许在需要零个或多个参数(对于函数调用)或者元素(对于数组字面量)的地方展开可迭代对象(例如,数组或字符串)。而在对象字面量中,展开语法枚举对象的属性,并将其键值对添加到正在创建的对象中。
逗号运算符
,
-
逗号运算符允许在单个语句中对多个表达式进行求值,并返回最后一个表达式的结果。
规范
浏览器兼容性
BCD tables only load in the browser