📅  最后修改于: 2023-12-03 15:31:46.951000             🧑  作者: Mango
算术运算符用于处理算术运算。JavaScript 支持以下算术运算符:
+
加号:用于加法运算。如果两个操作数都是数值,则相加;如果有任何一个是字符串,则将另一个操作数转换为字符串,然后连接两个字符串。-
减号:用于减法运算。*
乘号:用于乘法运算。/
除号:用于除法运算。%
取模运算符:用于求余数。 let x = 10;
let y = 5;
console.log(x + y); // 15
console.log(x - y); // 5
console.log(x * y); // 50
console.log(x / y); // 2
console.log(x % y); // 0
比较运算符用于比较两个值。JavaScript 支持以下比较运算符:
==
等于:比较两个值是否相等,如果相等则返回 true
。===
绝对等于:比较两个值是否相等且数据类型是否相同,如果相等则返回 true
。!=
不等于:比较两个值是否不相等,如果不相等则返回 true
。!==
绝对不等于:比较两个值是否不相等且数据类型是否不同,如果不相等则返回 true
。>
大于:比较两个值的大小,如果第一个值大于第二个值则返回 true
。<
小于:比较两个值的大小,如果第一个值小于第二个值则返回 true
。>=
大于等于:比较两个值的大小,如果第一个值大于等于第二个值则返回 true
。<=
小于等于:比较两个值的大小,如果第一个值小于等于第二个值则返回 true
。 let x = 10;
let y = 5;
console.log(x == y); // false
console.log(x === "10"); // false
console.log(x != y); // true
console.log(x !== "10"); // true
console.log(x > y); // true
console.log(x < y); // false
console.log(x >= 10); // true
console.log(x <= 5); // false
逻辑运算符用于处理真值逻辑运算。JavaScript 支持以下逻辑运算符:
&&
逻辑与:当两个操作数都为 true 时,返回 true;否则返回 false。||
逻辑或:当两个操作数有一个为 true 时,返回 true;否则返回 false。!
逻辑非:取反一个操作数,如果为 true,则返回 false,如果为 false,则返回 true。 let x = true;
let y = false;
console.log(x && y); // false
console.log(x || y); // true
console.log(!x); // false
条件运算符用于处理三目运算。JavaScript 支持以下条件运算符:
?
问号:用于表示一个条件表达式的开始。:
冒号:用于表示条件表达式的分隔符,在问号后面表示结果为 true 时执行的代码,在冒号后面表示结果为 false 时执行的代码。 let x = 10;
let y = 5;
console.log(x > y ? "x 大于 y" : "x 小于等于 y"); // x 大于 y
赋值运算符用于给变量赋值。JavaScript 支持以下赋值运算符:
=
等于号:将值赋给变量。+=
加等于:将变量的值加上一个值,并将结果赋给变量。-=
减等于:将变量的值减去一个值,并将结果赋给变量。*=
乘等于:将变量的值乘以一个值,并将结果赋给变量。/=
除等于:将变量的值除以一个值,并将结果赋给变量。%=
取模等于:将变量的值取模一个值,并将结果赋给变量。 let x = 10;
let y = 5;
x += y;
console.log(x); // 15
x -= y;
console.log(x); // 10
x *= y;
console.log(x); // 50
x /= y;
console.log(x); // 10
x %= y;
console.log(x); // 0
位运算符用于处理二进制数字。JavaScript 支持以下位运算符:
&
按位与:将两个操作数的每一个二进制位进行比较,并返回一个新的数值。|
按位或:将两个操作数的每一个二进制位进行比较,并返回一个新的数值。^
按位异或:将两个操作数的每一个二进制位进行比较,并返回一个新的数值。~
按位非:返回一个数值,其每一个二进制位都与操作数相反。<<
左移运算符:将一个数的二进制码向左移动一定数量的位数,并用 0 填充右侧空位。>>
右移运算符:将一个数的二进制码向右移动一定数量的位数。>>>
无符号右移运算符:与右移运算符类似,但左侧用 0 填充。 let x = 10; // 1010
let y = 5; // 0101
console.log(x & y); // 0000
console.log(x | y); // 1111
console.log(x ^ y); // 1111
console.log(~x); // -11
console.log(x << 2); // 101000
console.log(x >> 2); // 0010
console.log(x >>> 2); // 0010
JavaScript 还支持一些其他运算符:
typeof
运算符:返回一个操作数的数据类型。void
运算符:指定一个表达式被计算之后不返回任何值,
运算符:用于包含两个或多个表达式,并返回最后一个表达式的值。 let x = 10;
console.log(typeof x); // number
console.log(void x); // undefined
console.log((x = 5, x + 1)); // 6