首页 > 解决方案 > 为什么“0”通常被认为是假的,而不是三元运算符?

问题描述

在浏览器的 javascript 控制台中评估以下语句会产生显示的结果:

"0" == 0       // true
"0" == false   // true
"0" == true    // false
 0 ? true : false      // false
"0" ? true : false     // true   ???? WHAT  ???

前四个有意义,但不是最后一个。这是一个错误吗?如果不是,如何对“0”进行类型转换以使其看起来真实,但为什么这只发生在三元运算符而不是相等运算符?

(在多个浏览器控制台中测试,结果相同。)

标签: javascriptconditional-operatorboolean-expression

解决方案


推荐阅读