逻辑NOT(!)运算符对表达式执行逻辑取反。
!expression
一个Boolean。
逻辑NOT(!)运算符对表达式执行逻辑取反。
布尔值只需取反即可:!true === false和!false === true。
非布尔值首先转换为布尔值,然后取反。
这意味着可以使用双逻辑NOT(!!)将任何值强制转换为布尔值:
!!"FooBar" === true !!1 === true !!0 === false
这些都等于!true:
!'true' === !new Boolean('true'); !'false' === !new Boolean('false'); !'FooBar' === !new Boolean('FooBar'); ![] === !new Boolean([]); !{} === !new Boolean({});
这些都等于!false:
!0 === !new Boolean(0); !'' === !new Boolean(''); !NaN === !new Boolean(NaN); !null === !new Boolean(null); !undefined === !new Boolean(undefined);
!true // 假 !-1 // 假 !"-1" // 假 !42 // 假 !"42" // 假 !"foo" // 假 !"true" // 假 !"false" // 假 !{} // 假 ![] // 假 !function(){} // 假 !false // 真正 !null // 真正 !undefined // 真正 !NaN // 真正 !0 // 真正 !"" // 真正