可能重复:
What is the !! operator in JavaScript?
What does !! (double exclamation point) mean?
我正在我的工作场所浏览一些自定义JavaScript代码,但我无法理解以下构造。
var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white';
除了!!
运算符之外,我理解上面一行的所有内容。我假设它是NOT
运算符,而NOT
NOT
是原始值,但为什么有人会NOT
NOT
?
有人可以帮我理解上面的代码行吗?
答案 0 :(得分:89)
!!
确保结果类型是布尔值(true或false)。
javascript:alert("foo")
- > foo
javascript:alert(!"foo")
- > false
javascript:alert(!!"foo")
- > true
javascript:alert(!!null)
- > false
他们这样做是为了确保$('row')
不为空。
输入的时间比$('row') != null ? true : false
短。