可能的复制品: JavaScript 中的! ! 操作符是什么? 什么意思! ! (双叹号)意味着什么
我正在我的工作场所浏览一些定制的 JavaScript 代码,我不能理解下面的结构。
var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white';
除了 !!操作员,我明白上面这行的所有内容。我假设它是一个 NOT操作符,NOT的 NOT是原始值,但是为什么有人要做 NOT的 NOT呢?
!!
NOT
有没有人能帮我理解一下上面这行代码中发生了什么?
!!确保生成的类型是布尔型(true 或 false)。
javascript:alert("foo")-> foo
javascript:alert("foo")
foo
javascript:alert(!"foo")-> false
javascript:alert(!"foo")
false
javascript:alert(!!"foo")-> true
javascript:alert(!!"foo")
true
javascript:alert(!!null)-> false
javascript:alert(!!null)
他们这样做是为了确保 $('row')不为空。
$('row')
打字比 $('row') != null ? true : false短。
$('row') != null ? true : false