关于~运算符的使用
关于~运算的使用
- “~”即“非”运算,在二进制里对数字的每一位进行取反
- 在实际表现上则是
-num-1即~1=>-2 ~-1=>0 - 在运算时
NaN被当作0来运算 - 根据这个特性可以在String.indexOf()的结果中直接判断有没有查找的字符
- 在实际表现上则是
所以
!!~string.indexOf("something")等价于string.includes("something")
- 实际中
~~更加容易被用到- 经过两次
~~运算会得到运算数的整数部分 ~~3.14 => 3~~-3.14 => -3~~NaN => 0~~-0 => 0- 该方法与
Math.trunc()的唯一不同点是Math.trunc(NaN) => NaNMath.trunc(-0) => -0
- 经过两次

浙公网安备 33010602011771号