【发布时间】:2021-11-10 21:22:44
【问题描述】:
假设我们有一个条件,将字符串"true" 与布尔值true 进行比较。它返回false,尽管true == '1' 返回true。如果你做true == !!"true",这将返回true,所以它应该意味着,从一开始"true"就是true。是否有任何我遗漏的特定逻辑,或者它仅适用于 0 和 1 的字符串表示?
console.log(true == 'true')
【问题讨论】:
-
"所以它应该意味着,从一开始就是"true"" 不,这实际上并不符合逻辑。
!!42也是true但true == 42仍然是false因为它们不是松散相等的。==不比较 converts 到true的内容,毕竟,它通过将两个操作数转换为公共基数来比较它们。 -
在这里加了我的两分钱:stackoverflow.com/a/69199489/6840789
标签: javascript conditional-statements compare