关于~运算符的使用

Posted 影依贤者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于~运算符的使用相关的知识,希望对你有一定的参考价值。

关于~运算的使用

  1. “~”即“非”运算,在二进制里对数字的每一位进行取反
    • 在实际表现上则是-num-1~1=>-2 ~-1=>0
    • 在运算时NaN被当作0来运算
    • 根据这个特性可以在String.indexOf()的结果中直接判断有没有查找的字符

所以!!~string.indexOf("something")等价于string.includes("something")

  1. 实际中~~更加容易被用到
    • 经过两次~~运算会得到运算数的整数部分
    • ~~3.14 => 3 ~~-3.14 => -3 ~~NaN => 0 ~~-0 => 0
    • 该方法与Math.trunc()的唯一不同点是Math.trunc(NaN) => NaN Math.trunc(-0) => -0

以上是关于关于~运算符的使用的主要内容,如果未能解决你的问题,请参考以下文章

关于js----------------分享前端开发常用代码片段

20个简洁的 JS 代码片段

20个简洁的 JS 代码片段

关于代码片段的时间复杂度

关于片段生命周期

几个关于js数组方法reduce的经典片段