逻辑 NOT 运算符()
逻辑 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 // false
!-1 // false
!"-1" // false
!42 // false
!"42" // false
!"foo" // false
!"true" // false
!"false" // false
!{} // false
![] // false
!function(){} // false
!false // true
!null // true
!undefined // true
!NaN // true
!0 // true
!"" // true