两种取反(~ 和 !)放在if代码块中做条件判断
【摘要】 两种取反(~ 和 !)放在if代码块中做条件判断。
之前写if语句的时候,括号中都是这样写的:
if (time < 10) { // do some things }
if (index > -1) { // do some things }
if (value === 200) { // do some things }
```
这样的代码其实也是可以的,不过对于有些代码可能有更简洁的方式。
1. 判断存不在时,可以用 ! 取反
const arr = [1, 2, 3, 4, 5] const isExist = arr.includes(6) // true if (!isExist) { // do some things arr.push(6) }
2. 判断index > -1 时,可利用**按位取反运算符(~)**,来取布尔值。
if (~index) { // do some things }
需要说明的是,位运算是针对二进制的运算。
从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。
若`index === -1`,`~index`得到0,判断不成立;若`index`不为-1,则`~index`得到非0,判断成立。
位运算目前个人来讲,都没有用到,不过因为看到涉及了二进制,会觉得跟底层有一些联系,我们非计算机出身的有时候看看这些应该也是好事儿~ 以后可能会有用的吧~
祝大家学得开心~
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)