双惊叹号! 运营商的意思

可能重复:
是什么 !! 运算符在JavaScript中?
什么! (双重感叹号)是什么意思?

我正在浏览我的工作场所的一些自定义JavaScript代码,并且我无法理解以下构造。

var myThemeKey = (!!$('row') && $('row').hasClassName('green-theme')) ? 'green' : 'white';

我明白上面的所有内容除了!! 运营商。 我认为它是一个NOT运算符和NOTNOT被原来的值,但为什么会有人做NOTNOT

有人能帮我理解上面的代码行是怎么回事吗?


!! 确保生成的类型是一个布尔值(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

链接地址: http://www.djcxy.com/p/12645.html

上一篇: What does the double exclamation !! operator mean?

下一篇: How does the double exclamation (!!) work in javascript?