JavaScript - 操作符

28 阅读2分钟

操作符

操作符是 JavaScript 中用于执行操作的符号。根据操作数的数量,操作符可以分为以下几类:

赋值运算符

赋值运算符用于将值分配给变量。最基本的赋值运算符是等号 =,它将右侧的值分配给左侧的变量。

let a = 10
let b = 20
let c = a + b
console.log(c) // 30
c += 10
console.log(c) // 40 等同于 c = c + 10
c -= 10
console.log(c) // 30 等同于 c = c - 10
c *= 2
console.log(c) // 60 等同于 c = c * 2

算术运算符

算术运算符用于执行基本的数学运算,包括加法、减法、乘法、除法和取余。

let a = 10
let b = 20
console.log(a + b) // 30
console.log(a - b) // -10
console.log(a * b) // 200
console.log(a / b) // 0.5
console.log(a % b) // 10

比较运算符

比较运算符用于比较两个值,并返回一个布尔值(true 或 false)。

let a = 10
let b = 20
console.log(a < b) // true
console.log(a > b) // false
console.log(a <= b) // true
console.log(a >= b) // false
console.log(a == b) // false
console.log(a != b) // true

逻辑运算符

逻辑运算符用于执行逻辑操作,包括与(&&)、或(||)和非(!)。

let a = true
let b = false
console.log(a && b) // false
console.log(a || b) // true
console.log(!a) // false

位运算符

位运算符用于对二进制位进行操作,包括按位与(&)、按位或(|)、按位非(~)、按位异或(^)、左移(<<)、右移(>>)和无符号右移(>>>)。

let a = 5 // 二进制表示为 00000101
let b = 3 // 二进制表示为 00000011
console.log(a & b) // 1 (按位与)
console.log(a | b) // 7 (按位或)
console.log(~a) // -6 (按位非)
console.log(a ^ b) // 6 (按位异或)
console.log(a << 1) // 10 (左移)
console.log(a >> 1) // 2 (右移)
console.log(a >>> 1) // 2 (无符号右移)

其他运算符

其他运算符包括条件运算符(? :)、逗号运算符(,)和 typeof 运算符。

let a = 10
let b = 20
let c = a > b ? a : b
console.log(c) // 20
console.log(a, b) // 10, 20
console.log(typeof a) // 'number'

运算符优先级

运算符优先级决定了在表达式中哪些操作先被执行。运算符依次执行,优先级高的操作符会先被执行。

运算符优先级表如下:

运算符描述
()括号
++, --自增、自减
!, ~, ++, --逻辑非、按位非、自增、自减
*, /, %乘法、除法、取余
+, -加法、减法
<<, >>, >>>左移、右移、无符号右移
<, <=, >, >=小于、小于等于、大于、大于等于
==, !=, ===, !==等于、不等于、严格等于、严格不等于
&按位与
^按位异或
按位或
&&逻辑与
丨丨逻辑或
? :条件运算符