如果两个操作数的类型不同,JavaScript 会转换操作数,然后应用严格的比较。如果操作数是数字或布尔值,则尽可能将操作数转换为数字;else 如果任一操作数是字符串,则另一个操作数在可能的情况下转换为字符串。
考虑到这一点,我将评估"true" == true如下:
- 它们是同一类型的吗?不
 - 操作数是数字还是布尔值?是的
 - 我们可以将两者都转换为数字吗?否( 
isNaN(Number("true")) // true) - 任一操作数是字符串吗?是的
 - 我们可以将另一个操作数转换为字符串吗?是( 
String(true) === "true" // true) 
我最终得到了字符串"true"and "true",它应该计算为true,但 JavaScript 显示为 false。
我错过了什么?