逻辑 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