因此,据我所知if
,Javascript 中的语句将其条件的结果转换为布尔值,然后执行它,如下所示
if(true) {
// run this
}
if(false) {
// do not run this
}
那行得通。但如果我这样做:
if('0' == false) {
// We get here, so '0' is a falsy value
}
然后我会期待这个
if('0') {
// We don't get here, because '0' is falsy value
}
但相反我得到
if('0') {
// We *DO* get here, even though '0' is falsy value
}
那么发生了什么?显然,if
不检查其条件是真值还是假值,而是进行其他转换?