目录

JavaScript 运算符优先级

运算符优先级描述了算术表达式中运算的执行顺序。

乘法(*)和除法(/)有更高的优先级比加法(+)和减法(-)。

与传统数学一样,首先进行乘法:

let x = 100 + 50 * 3;
亲自试一试 »

使用括号时,首先计算括号内的运算:

let x = (100 + 50) * 3;
亲自试一试 »

具有相同优先级的运算(例如 * 和 /)从左到右计算:

let x = 100 / 50 * 3;
亲自试一试 »

运算符优先级值

计算括号内的表达式表达式的其余部分
函数被执行结果用于表达式的其余部分
瓦尔 运算符 描述 示例
18 ( ) 表达分组 (100 + 50) * 3
17 . 成员 人名
17 [] 成员 人["name"]
17 ?. 可选链接 ES2020 X ?。 y
17 () 函数调用 我的函数()
17 新的 带参数的新功能 新日期("June 5,2022")
16 新的 新的无参数 新日期()
增量运算符
执行后缀增量前缀增量
15 ++ 后缀增量 我++
15 -- 后缀递减 我 -
14 ++ 前缀增量 ++i
14 -- 前缀递减 - 我
非运算符
14 ! 逻辑非 !(x==y)
14 ~ 按位非 〜x
一元运算符
14 + 一元加 +x
14 - 一元减号 -X
14 类型 数据类型 x 的类型
14 空白 评估虚空 无效(0)
14 删除 属性删除 删除 myCar.color
算术运算符
执行求幂乘法
执行乘法和除法加法和减法
13 ** 求幂 ES2016 10 ** 2
12 * 乘法 10 * 5
12 / 分配 10 / 5
12 % 除法余数 10 % 5
11 + 添加 10 + 5
11 - 减法 10 - 5
11 + 级联 "John" + "Doe"
班次运算符
10 << 左移 x << 2
10 >> 右移(有符号) x >> 2
10 >>> 右移(无符号) x >>> 2
关系运算符
9 对象中的属性 数学"PI"
9 实例化 对象实例 x 数组实例
比较运算符
9 < 少于 x < y
9 <= 小于或等于 x <= y
9 > 大于 x > y
9 >= 大于或等于 x >= 数组
8 == 相等 x == y
8 === 严格等于 x === y
8 != 不等 x!=y
8 !== 严格不平等 x !== y
按位运算符
7 & 按位与 坐标
6 ^ 按位异或 x^y
5 | 按位或 x| y
逻辑运算符
4 && 逻辑与 x && y
3 || 逻辑或 x|| y
3 ?? 空值合并 ES2020 X ?? y
条件(三元)运算符
2 ? : 健康)状况 ? "yes":"no"
赋值运算符
任务已执行其他操作
2 = 简单的分配 x = y
2 : 冒号分配 x:5
2 += 加法作业 x+=y
2 -= 减法作业 x -= y
2 *= 乘法赋值 x * = y
2 **= 求幂赋值 x **= y
2 /= 部门分配 x / = y
2 %= 余数分配 x %= y
2 <<= 左移赋值 x <<= y
2 >>= 右移赋值 x >>= y
2 >>>= 无符号右移 x >>>= y
2 &= 按位与赋值 x &= y
2 |= 按位或赋值 x |= y
2 ^= 按位异或赋值 x^=y
2 &&= 逻辑与赋值 x &&= y
2 ||= 逻辑或赋值 x ||= y
2 => x => y
2 屈服 暂停/恢复 产量 x
2 屈服* 代表 产量* x
2 ... 传播 ... X
1 , 逗号 坐标