内容来自 DOC https://q.houxu6.top/?s=在JavaScript中,
!!
(不是not)操作符的作用是什么?
我看到了一些代码,似乎使用了我不知道的操作符,形式为两个感叹号,就像这样:!!
。有人能告诉我这个操作符是做什么的吗?
我看到这个操作符的上下文是:
this.vertical = vertical !== undefined ? !!vertical : this.vertical;
它把 Object
转换为 boolean
。如果它是假值(例如,0
、null
、undefined
等),那么它将是 false
,否则是 true
。
!object // 反转布尔值
!!object // 非反转布尔值,所以是 true 的布尔表示
因此 !!
不是一个操作符;它只是 !
操作符的两次使用。
可能更简单的方法是:
Boolean(object) // 布尔值
真实世界的例子 "测试 IE 版本":
const isIE8 = !! navigator.userAgent.match(/MSIE 8.0/);
console.log(isIE8); // 返回 true 或 false
如果你 ⇒
console.log(navigator.userAgent.match(/MSIE 8.0/));
// 返回一个数组或 null
但如果你 ⇒
console.log(!!navigator.userAgent.match(/MSIE 8.0/));
// 返回 true 或 false
标签:false,vertical,JavaScript,操作符,navigator,true,作用
From: https://www.cnblogs.com/xiaomandujia/p/17773281.html