Skip to main content

ECMAScript 操作符

在 ECMAScript 中,操作符是用于对数据执行各种操作,操作符可以是符号,也可以是关键字

操作符有优先级之分,按优先级由高到低排序

  1. 括号
(x + y) * z // 括号
  1. 对象操作
person.name
person["name"]
person?.name // 对象属性访问

Person() // 函数调用

new Person('Alice') // 带参数的new操作
  1. new 操作
new Person() // 不带参数的new操作
  1. 后缀操作
x ++ // 后缀递增
x -- // 后缀递减
  1. 前缀操作、NOT操作符、一元操作符
++ x // 前缀递增
-- x // 前缀递减

! x // 逻辑非
~ x // 按位非

+ x // 一元加
- x // 一元减
typeof x // 数据类型
void x // 返回undefined
delete person.name // 对象属性删除
  1. 指数操作
x ** y // 指数运算
  1. 乘除操作
x * y // 乘法运算
x / y // 除法运算
x % y // 除法余数运算
  1. 加减操作
x + y // 加法运算,字符串拼接
x - y // 减法运算
  1. 移位操作
x << 2 // 按位左移
x >> 2 // 按位右移(带符号)
x >>> 2 // 按位右移(无符号)
  1. 关系操作、比较操作
"PI" in Math // in操作符
x instanceof Array // instanceof操作符

x < y // 小于
x <= y // 小于等于
x > y // 大于
x >= y // 大于等于
  1. 等于操作
x == y // 等于
x === y // 严格相等
x != y // 不相等
x !== y // 严格不相等
  1. 按位操作:优先级:&>^>|
x & y // 按位与
x ^ y // 按位异或
x | y // 按位或
  1. 逻辑操作:优先级:&&>||
x && y // 逻辑与
x || y // 逻辑或
  1. 空值合并操作
x ?? y // 空值合并
  1. 条件运算符、yield运算符、展开运算符
x > 0 ? 'yes' : 'no' // 条件运算符

yield x // 暂停、恢复
yield* x // 委托

...x // 展开运算符
  1. 逗号
x , y // 逗号