双惊叹号! 运营商的意思
可能重复:
是什么 !! 运算符在JavaScript中?
什么! (双重感叹号)是什么意思?
我正在浏览我的工作场所的一些自定义JavaScript代码,并且我无法理解以下构造。
var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white';
我明白上面的所有内容除了!!
运营商。 我认为它是一个NOT
运算符和NOT
的NOT
被原来的值,但为什么会有人做NOT
的NOT
?
有人能帮我理解上面的代码行是怎么回事吗?
!!
确保生成的类型是一个布尔值(true或false)。
javascript:alert("foo")
- > foo
javascript:alert(!"foo")
- > false
javascript:alert(!!"foo")
- > true
javascript:alert(!!null)
- > false
他们这样做是为了确保$('row')
不为空。
键入的时间比$('row') != null ? true : false
更短$('row') != null ? true : false
$('row') != null ? true : false
。
上一篇: What does the double exclamation !! operator mean?
下一篇: How does the double exclamation (!!) work in javascript?