运算符 - JavaScript · 基础

位运算

<< (左移)

左移操作符 (<<) 将第一个操作数向左移动指定位数,左边超出的位数将会被清除,右边将会补零

x << y: x * 2 ** y, 即结果是x乘以2的y次方,涉及到2倍数的数字相乘都可以使用左移运算提高执行效率

>> (右移)

右移运算符(>>)将一个操作数的二进制表示形式向右移动指定位数,该操作数可以是数值或者 BigInt 类型。右边移出位被丢弃,左边移出的空位补符号位(最左边那位)。该操作也称为“符号位传播右移”(sign-propagating right shift)或“算术右移”(arithmetic right shift),因为返回值的符号位与第一个操作数的符号位相同

>>> (无符号右移)

x >>> 0: 这是被滥用的一个表达式,用于将非数字转换成0,或将数字转换为整数

无符号右移运算符(>>>)(零填充右移)将左操作数计算为无符号数,并将该数字的二进制表示形式移位为右操作数指定的位数,取模 32。向右移动的多余位将被丢弃,零位从左移入。其符号位变为 0,因此结果始终为非负数。与其他按位运算符不同,零填充右移返回一个无符号 32 位整数

100 >>> 32 与 100 >>> 0结果相同,因为位偏移量将始终是介于 0 和 31 之间的正整数(包括 0 和 31)

自加运算

++a

a++

注意两者的区别,++a返回值是a + 1, a++ 返回值是a

HoHo !


运算符 - JavaScript · 基础
https://wanmeishijie.xyz/notes/javascript/运算符/
作者
发布于
2023年11月25日
许可协议