所谓的按位非就是在数字前加上~的符号
最简单的记忆方法是~(a) = -(a+1)
let a = 1;
let b = ~(a); // b=-2
let a = 2;
let b = ~(a); // b=-3
let a = -1;
let b = ~(a); // b=0
使用场景
在if判断的时候,if在0的情况下的转换为false的;
使用indexOf在找不到的情况下返回-1,通过按位非~即可转换成0;
indexOf有可能查找的数据下标为0,所以通过按位非~即可将0转换;
if (~data.indexOf('bug'))