热门

最新

红包

立Flag

投票

同城

我的

发布
cpa0701
AwesomeCPA
5 年前
truecpa0701

~ 返回 2 的补码,~x 大致等同于 -(x+1)
我们知道在 JavaScript 中假值有:undefined、null、false、+0、-0、NaN、'',其他都为真值,所以负数也是真值,那么我们就可以拿着 ~ 和 indexOf 一起检结果强制类型转换为 真/假 值
const str = 'hello world';
~str.indexOf('lo'); // -4,真值
if (~str.indexOf('lo')) {
// true
// 找到匹配
}
~str.indexOf('ol'); // 0,假值
!~str.indexOf('ol'); // true
if (!~str.indexOf('ol')) {
// true
// 没有找到匹配
}
~ 要比 >=0 和 == -1 更简洁

CSDN App 扫码分享
分享
评论
1
打赏
  • 复制链接
  • 举报
下一条动态
立即登录