JavaScript中的~~是什么?

What is ~~ in JavaScript?

我只是在乱搞乱七八糟的东西,而我发现了一些有趣的东西..

如果我在数字前加~,比如我试过

~110100100 // result will be  " -110100101 "
~11 // result will be " -12 "

是不是让负数减1?我不知道,谁能解释一下??

运算符 ~ returns 结果:

~N = -(N+1)

但这是反转变量所有位值的效果。

双波浪号 ~~ 用于将某些类型转换为 int,因为 ~ 运算符在反转其位之前将值转换为 32 位 int。因此:

~~'-1' = -1
~~true = 1
~~false = 0
~~5.6 = 5