表达式和运算符
本章记录了所有 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()语法允许将模块异步和动态加载到潜在的非模块环境中。
递增和递减
后缀/前缀递增和后缀/前缀递减运算符。
一元运算符
一元运算是只有一个操作数的运算。
算术运算符
算术运算符将其操作数(字面量或变量)作为数值,并返回一个数值。
关系运算符
比较运算符比较其操作数,并根据比较是否为真返回布尔值。
<(小于)-
小于运算符。
>(大于)-
大于运算符。
<=-
小于或等于运算符。
>=-
大于或等于运算符。
instanceof-
instanceof运算符确定一个对象是否是另一个对象的实例。 in-
in运算符确定一个对象是否具有给定属性。
注意: => 不是运算符,而是箭头函数的表示法。
相等运算符
根据比较是否为真,相等运算符的评估结果始终为布尔类型。
位移位运算符
移动操作数所有位的操作。
二进制按位运算符
按位运算符将其操作数视为一组 32 位(零和一),并返回标准 JavaScript 数值。
二进制逻辑运算符
逻辑运算符实现布尔(逻辑)值并具有短路行为。
条件(三元)运算符
(condition ? ifTrue : ifFalse)-
条件运算符根据条件的逻辑值返回两个值之一。
赋值运算符
赋值运算符根据其右操作数的值将其值赋给其左操作数。
yield 运算符
扩展语法
...obj-
扩展语法允许在预期零个或多个参数(用于函数调用)或元素(用于数组字面量)的位置展开可迭代对象,例如数组或字符串。在对象字面量中,扩展语法枚举对象的属性并将键值对添加到正在创建的对象中。
逗号运算符
,-
逗号运算符允许在单个语句中评估多个表达式,并返回最后一个表达式的结果。
规范
浏览器兼容性
加载中…