在 JavaScript 中,给定 var a = ‘’;(空字符串),以下是 !!a 和 !a 的值及其解释:
1. !a(逻辑非运算)
a 的值:空字符串 ‘’,在 JavaScript 中是 假值(false)。
!a 的运算过程:
! 运算符会将操作数转换为布尔值,然后取反。
空字符串 ‘’ 转换为布尔值是 false。
!false 的结果是 true。
结果:!a 的值为 true。
2. !!a(双重逻辑非运算)
!!a 的运算过程:
第一个 !:将 a 转换为布尔值并取反(同上,得到 true)。
第二个 !:对 true 再次取反,得到 false。
等价于:Boolean(a)(显式转换为布尔值)。
结果:!!a 的值为 false(因为 a 是空字符串,属于假值)。
总结
表达式 值 原因
a ‘’ 空字符串(原始值)。
!a true a 是假值,取反后为 true。
!!a false 相当于 Boolean(a),空字符串转换为布尔值是 false。
验证代码
javascript
var a = ‘’;
console.log(!a); // 输出: true
console.log(!!a); // 输出: false
关键点
JavaScript 中的假值包括:false、0、’’、null、undefined、NaN。
! 会将操作数强制转换为布尔值并取反,而 !! 是转换为布尔值的常用简写。
文档更新时间: 2025-07-17 08:57 作者:admin