javascriptのbooleanは少し特殊で、オブジェクトは全てtrue、0や”(空文字)はfalseを返すようになっています。

//コメントは論理式に変数を入れた時に返るboolean値
var a = true //true
var b = false //false
var c = 'true' //true
var d = 'false' //true(オブジェクトであるため)
var e = 1 //true
var f = 0 //false
var g = '' //false

関連記事