双惊叹号! 运营商的意思
可能重复:
是什么 !! 运算符在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?
