したがって、私が知っているのは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
その条件が真または偽の値であるかどうかをチェックしませんが、他の変換を行いますか?