JavaScriptには論理型(boolean
)のオブジェクトラッパーであるBoolean
クラスが存在しており、プリミティブ型のboolean
とは異なる動作をします。Boolean
クラスのインスタンスは保持する値に関わらずtrulyです。
console.log(new Boolean(false) === false) // false console.log(new Boolean(false) === true) // true // あるいは console.log(Boolean(new Boolean(false))) // true
Boolean
クラスからプリミティブ型のBoolean
を取り出すにはvalueOf
メソッドを使います。
console.log(new Boolean(true).valueOf()); // true console.log(new Boolean(false).valueOf()); // false
なお、new
なしでBoolean(...)
と書いた場合はBoolean
関数が呼び出されます。この関数はプリミティブ型の値true/false
を返します。
console.log(Boolean("")) // false console.log(Boolean("truly")) // true
関連リンク