WTFJS:true!='true'

时间:2015-11-19 20:09:27

标签: javascript type-conversion

问题的简短版本

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是假的吗?

谢谢!

P.S。

如果已经提出这个问题,我很抱歉,但很难通过关键字javascripttruewtfjs没有提供任何内容)找到smth。

此致,亚历山大

UPD

很抱歉重复,可以找到完整的答案here,如Joachim Rohde的评论中所述。

0 个答案:

没有答案