Boolean object แทนค่า true หรือ false สร้างด้วย constructor:
var val = new Boolean(value);
หาก value ถูกละหรือเป็น 0, -0, null, false, NaN, undefined, "" → object มีค่าเริ่มต้น false
ตัวอย่าง
<html>
<head>
<title>JavaScript toString() Method</title>
</head>
<body>
<script>
var flag = new Boolean(true);
document.write("flag.toString is: " + flag.toString()); // "true"
</script>
</body>
</html>
Boolean Object vs Primitive
var primitive = true;
var object = new Boolean(true);
typeof primitive; // "boolean"
typeof object; // "object"
primitive.valueOf(); // true
object.valueOf(); // true
// ความแตกต่างสำคัญ:
if (object) { console.log("object is truthy"); } // รัน! object เสมอ truthy
if (primitive) { console.log("primitive is truthy"); } // รัน
// แต่:
object == false; // false (object ไม่เท่ากับ false)
Boolean(object) === true; // true
⚠️ ข้อควรระวัง
new Boolean(false) เป็น truthy! เพราะเป็น object ทุก object ใน JS เป็น truthy
var b = new Boolean(false);
if (b) alert("This runs!"); // รันได้! เพราะ b เป็น object
แนะนำ: ใช้ primitive true/false เท่านั้น หลีกเลี่ยง new Boolean()