JavaScript:深入理解操作符的奥秘
2023-12-22 00:02:17
一元运算符
一元运算符用于对单个操作数进行操作,包括正号(+)、负号(-)、逻辑非运算符(!)、位非运算符(~)、类型转换运算符(typeof)和自增/自减运算符(++、--)。
正号(+)和负号(-)
正号用于将操作数转换为数字,负号用于将操作数转换为负数。例如:
+1; // 结果为 1
-2; // 结果为 -2
逻辑非运算符(!)
逻辑非运算符用于对布尔值进行取反。例如:
!true; // 结果为 false
!false; // 结果为 true
位非运算符(~)
位非运算符用于对数字进行位取反。例如:
~0b1111; // 结果为 0b0000
~0b1010; // 结果为 0b0101
类型转换运算符(typeof)
类型转换运算符用于返回操作数的数据类型。例如:
typeof 1; // 结果为 "number"
typeof true; // 结果为 "boolean"
typeof "hello"; // 结果为 "string"
自增/自减运算符(++、--)
自增运算符(++)用于将操作数加 1,自减运算符(--)用于将操作数减 1。例如:
let x = 1;
x++; // x 的值变为 2
x--; // x 的值变为 1
加性运算符
加性运算符用于对两个或多个操作数进行加法或减法运算,包括加号(+)和减号(-)。
加号(+)
加号用于将两个或多个操作数相加。例如:
1 + 2; // 结果为 3
"hello" + "world"; // 结果为 "helloworld"
减号(-)
减号用于将两个或多个操作数相减。例如:
5 - 3; // 结果为 2
10 - 5 - 2; // 结果为 3
乘性运算符
乘性运算符用于对两个或多个操作数进行乘法或除法运算,包括乘号(*)、除号(/)和求余运算符(%)。
乘号(*)
乘号用于将两个或多个操作数相乘。例如:
2 * 3; // 结果为 6
5 * 5; // 结果为 25
除号(/)
除号用于将两个或多个操作数相除。例如:
10 / 2; // 结果为 5
100 / 5; // 结果为 20
求余运算符(%)
求余运算符用于返回两个或多个操作数相除的余数。例如:
10 % 3; // 结果为 1
15 % 4; // 结果为 3
指数运算符
指数运算符(**)用于计算一个数的幂。例如:
2 ** 3; // 结果为 8
5 ** 2; // 结果为 25
位运算符
位运算符用于对数值的底层操作,也就是操作内存中表示数据的比特(位)。ECMAScript 中的所有数值都以 IEEE 754 64 位格式存储。
位运算符包括按位与运算符(&)、按位或运算符(|)、按位异或运算符(^)、左移运算符(<<)和右移运算符(>>)。
按位与运算符(&)
按位与运算符用于将两个或多个操作数的二进制位进行与运算。例如:
0b1111 & 0b1010; // 结果为 0b1010
0b1100 & 0b1011; // 结果为 0b1000
按位或运算符(|)
按位或运算符用于将两个或多个操作数的二进制位进行或运算。例如:
0b1111 | 0b1010; // 结果为 0b1111
0b1100 | 0b1011; // 结果为 0b1111
按位异或运算符(^)
按位异或运算符用于将两个或多个操作数的二进制位进行异或运算。例如:
0b1111 ^ 0b1010; // 结果为 0b0101
0b1100 ^ 0b1011; // 结果为 0b0111
左移运算符(<<)
左移运算符用于将一个操作数的二进制位向左移动指定位数。例如:
0b1111 << 2; // 结果为 0b111100
0b1100 << 1; // 结果为 0b11000
右移运算符(>>)
右移运算符用于将一个操作数的二进制位向右移动指定位数。例如:
0b1111 >> 2; // 结果为 0b111
0b1100 >> 1; // 结果为 0b110
通过了解和掌握这些操作符,可以帮助您在JavaScript编程中游刃有余地进行各种运算和比较。