console.log([] == false)
true
console.log([]?true:false)
true
console.log('' == false)
true
console.log(''?true:false)
false
console.log([] == '')
true
符号 等于 和 三元运算符 的判断逻辑不等价吗?三元运算符的判断规则是什么?
console.log([] == false)
true
console.log([]?true:false)
true
console.log('' == false)
true
console.log(''?true:false)
false
console.log([] == '')
true
符号 等于 和 三元运算符 的判断逻辑不等价吗?三元运算符的判断规则是什么?
三元运算符 中不包含 隐式转换
就只是 truthy(真值)的判断
在 JavaScript中,truthy(真值)指的是在布尔值上下文中,转换后的值为真的值。所有值都是真值,除非它们被定义为 假值(即除 false
、0
、""
、null
、undefined
和 NaN
以外皆为真值)。
参见 MDN
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.9k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
参考JS相等性判断里梳理的
a == b
的逻辑:对照这个规则可以解释上面的行为。