猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
javascript !~array.indexOf('some')怎么理解?
如题!~array.indexOf('some')和array.indexOf('some')!=-1是一样的吗
一只萌萌小番薯
浏览 1107
回答 3
3回答
翻阅古今
是一样的,这是另外一种写法。~是位运算符。表示把array.indexOf('some')移位后-1就是0,而如果数组中含有some,结果就不会是0.然后再转换成boolean.不过题目里的两个表达式的逻辑似乎是反了.!!~array.indexOf('some')
0
0
0
紫衣仙女
~ 是 js 中的按位取反运算符~1 = -2 ~0 = -1 ~-1 = 0indexOf 是 array 的一个方法,如果后面的元素在这个 array 中,则返回对应下标,如果不在,则返回 -1第一种形式, indexOf 方法后在按位取反,表示的是元素不在这个数组中第二种形式,表示的是元素在这个数组中所以两个表示的意思相反在 es6 之后,数组多了一个 includes 方法,array.includes(some) 返回一个 Boolean 值,更加语义化。
0
0
0
互换的青春
你是指if判断吗? 是不一样的。-1在if判断中等同于true,也就是说会执行if内的代码块。只有if(0)才不会执行,其他数字都会执行。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续