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