~
是JavaScript(以及C/C++和其他语言)中的按位取反运算符。你可以在这里找到更多细节:How does the bitwise complement (~) operator work?
在这种情况下:
3.14
从浮点数转换为整数,因此变成了3
。~3
是-4
,因为使用二进制补码表示。~(-4)
变成了3
。基本上,对于使用二进制补码表示的整数,~n
等于-n-1
。
它将返回3。在JavaScript中,~
代表位非运算符。
基本上,~3.14与~3相同,即~011(二进制)=> 100或10进制中的4。 ~4或~100是011或10进制中的3。
~~3.14
等同于3.14 | 0
。 - Robert Koritnik