逻辑非 (!)
**逻辑非 (!
)** (逻辑补码,否定) 运算符将真值转换为假值,反之亦然。它通常与布尔 (逻辑) 值一起使用。当与非布尔值一起使用时,如果其单个操作数可以转换为 `true`,则返回 `false`;否则,返回 `true`。
试一试
语法
js
!x
描述
示例
使用 NOT
以下代码展示了 `!` (逻辑非) 运算符的示例。
js
!true; // !t returns false
!false; // !f returns true
!""; // !f returns true
!"Cat"; // !t returns false
双非 (!!
)
可以连续使用一对非运算符,以显式地强制将任何值转换为相应的 布尔原始值。转换基于值的“真值”或“假值”(参见 真值 和 假值)。
相同的转换可以通过 Boolean()
函数完成。
js
!!true; // !!truthy returns true
!!{}; // !!truthy returns true: any object is truthy...
!!new Boolean(false); // ...even Boolean objects with a false .valueOf()!
!!false; // !!falsy returns false
!!""; // !!falsy returns false
!!Boolean(false); // !!falsy returns false
在 NOT 之间进行转换
以下涉及 **布尔值** 的操作
js
!!bCondition
始终等于
js
bCondition
规范
规范 |
---|
ECMAScript 语言规范 # sec-logical-not-operator |
浏览器兼容性
BCD 表格仅在浏览器中加载