运算符 | 名称 | 示例 |
---|---|---|
+ | 加法运算符 | 计算 x 加 y 的和 |
- | 减法运算符 | 计算 x 减 y 的差 |
* | 乘法运算符 | 计算 x 乘 y 的积 |
/ | 除法运算符 | 计算 x 除以 y 的商 |
% | 取余运算符 | 计算 x 除以 y 的余数 |
运算符 | 描述/名称 | 示例 |
---|---|---|
= | 将运算符右侧的值赋值给运算符左侧的变量 | x = 10 表示将变量 x 赋值为 10 |
+= | 先进行加法运算,再将结果赋值给运算符左侧的变量 | x += y 等同于 x = x + y |
-= | 先进行减法运算,再将结果赋值给运算符左侧的变量 | x -= y 等同于 x = x - y |
*= | 先进行乘法运算,再将结果赋值给运算符左侧的变量 | x *= y 等同于 x = x * y |
/= | 先进行除法运算,再将结果赋值给运算符左侧的变量 | x /= y 等同于 x = x / y |
%= | 先进行取模运算,再将结果赋值给运算符左侧的变量 | x %= y 等同于 x = x % y |
运算符 | 名称 | 影响 |
---|---|---|
++x | 自增运算符 | 将 x 加 1,然后返回 x 的值 |
x++ | 自增运算符 | 返回 x 的值,然后再将 x 加 1 |
--x | 自减运算符 | 将 x 减 1,然后返回 x 的值 |
x-- | 自减运算符 | 返回 x 的值,然后将 x 减 1 |
运算符 | 名称 | 示例 |
---|---|---|
== | 等于 | x == y 表示如果 x 等于 y,则为真 |
=== | 全等 | x === y 表示如果 x 等于 y,并且 x 和 y 的类型也相同,则为真 |
!= | 不相等 | x != y 表示如果 x 不等于 y,则为真 |
!== | 不全等 | x !== y 表示如果 x 不等于 y,或者 x 和 y 的类型不同,则为真 |
< | 小于 | x < y 表示如果 x 小于 y,则为真 |
> | 大于 | x > y 表示如果 x 大于 y,则为真 |
>= | 大于或等于 | x >= y 表示如果 x 大于或等于 y,则为真 |
<= | 小于或等于 | x <= y 表示如果 x 小于或等于 y,则为真 |
运算符 | 名称 | 示例 |
---|---|---|
&& | 逻辑与 | x && y?表示如果 x 和 y 都为真,则为真 |
|| | 逻辑或 | x || y 表示如果 x 或 y 有一个为真,则为真 |
! | 逻辑非 | !x 表示如果 x 不为真,则为真 |
运算符 | 名称 | 示例 |
---|---|---|
&&= | 逻辑与赋值 | x &&= y 如果 x 为真,则把 y 赋值给 x |
||= | 逻辑或赋值 | x ||= y 如果 x 为假,则把 y 赋值给 x |
??= | 空值赋值操作符 | x ??= y 如果 x 为假,则把 y 赋值给 x |
?
运算符 | 名称 | 示例 |
---|---|---|
? : | 三元运算符 | x ? y : z 表示如果 x 为真,则执行 y,否则执行 z |
?. | 可选链操作符 | data?.user?.uId 表示如果data存在则调用user,如果user存在则调用uId |
?? | 空值合并运算符 | x ?? y 表示如果 x 存在,则执行 x,否则执行 y |
&& | 逻辑与 | x && y 表示如果 x 存在,则执行 y,否则不执行任何操作 |
|| | 逻辑或 | x || y 表示如果 x 存在,则执行 x,否则执行 y |
??和||的区别:
?? 只处理严格等于?null 或 undefined?的情况;
|| 处理更广泛的假值情况,包括 null、undefined、false、0、NaN、空字符串 '' 等;
运算符 | 描述 | 示例 |
---|---|---|
typeof | 返回变量的类型。 | typeof 1 表示检测1的数据类型,返回的是number |
instanceof | 返回布尔值 | [] instanceof Array 表示检测[]是不是Array类型,返回对是true |
!! | 强制转换为布尔值 | !!1 返回值是true |
运算符 | 描述 | 示例 |
---|---|---|
& | 按位与:如果对应的二进制位都为 1,则该二进制位为 1 | 5 & 1 等同于 0101 & 0001 结果为 0001,十进制结果为 1 |
| | 按位或:如果对应的二进制位有一个为 1,则该二进制位为 1 | 5 | 1 等同于 0101 | 0001 结果为 0101,十进制结果为 5 |
^ | 按位异或:如果对应的二进制位只有一个为 1,则该二进制位为 1 | 5 ^ 1 等同于 0101 ^ 0001 结果为 0100,十进制结果为 4 |
~ | 按位非:反转所有二进制位,即 1 转换为 0,0 转换为 1 | ~5 等同于 ~0101 结果为 1010,十进制结果为 -6 |
<< | 按位左移:将所有二进制位统一向左移动指定的位数,并在最右侧补 0 | 5 << 1 等同于 0101 << 1 结果为 1010,十进制结果为 10 |
>> | 按位右移(有符号右移):将所有二进制位统一向右移动指定的位数,并拷贝最左侧的位来填充左侧 | 5 >> 1 等同于 0101 >> 1 结果为 0010,十进制结果为 2 |
>>> | 按位右移零(无符号右移):将所有二进制位统一向右移动指定的位数,并在最左侧补 0 | 5 >>> 1 等同于 0101 >>> 1 结果为 0010,十进制结果为 2 |
目的是出于记录工作经验,也希望能够帮到各位~