true == 'true' //evaluates to false
为什么?
好的,我知道使用==
代替===
是一种不好的做法,但今天这个问题出现在 FrontendLeague 测验中,我对答案感到非常惊讶
我的逻辑很简单(以下所有陈述都评估为true
):
Boolean("true") === true
String(true) === 'true'
'true' ? true : false === true
尽管如此:
'true' == true // false
true == 'true' // also false
正如Kyle Simpsons在this great video中所说的那样,根据js规范,大多数wtfjs实际上并不是那么重,并且完全没问题。
那么,你能解释为什么'true' == true
是假的吗?
谢谢!
如果已经提出这个问题,我很抱歉,但很难通过关键字javascript
和true
(wtfjs
没有提供任何内容)找到smth。
此致,亚历山大
很抱歉重复,可以找到完整的答案here,如Joachim Rohde的评论中所述。