บูลีน

บูลีนพื้นฐานเป็นประเภทข้อมูลเชิงตรรกะที่มีเพียง 2 ค่า ได้แก่ true และ false

ออบเจ็กต์บูลีน

ค่าทั้งหมดใน JavaScript จะเป็น true หรือ false โดยปริยาย ออบเจ็กต์ Boolean สามารถใช้เพื่อบังคับค่าให้เป็นบูลีน true หรือ false โดยอิงตามสถานะ "จริง" หรือ "เท็จ" ของค่านั้นโดยนัย ดังนี้

Boolean( "A string literal" );
> true

ค่าที่ส่งผลให้เกิด false ได้แก่ 0, null, undefined, NaN, สตริงว่าง (""), ค่าที่ละเว้น และบูลีน false ค่าอื่นๆ ทั้งหมดจะแสดงผลเป็น true

Boolean( NaN );
> false

Boolean( -0 );
> false

Boolean( 5 );
> true

Boolean( "false" ); // the value `"false"` is a string, and therefore implicitly true.
> true

หลีกเลี่ยงการใช้ออบเจ็กต์ Boolean เป็นคอนสตรัคเตอร์ ซึ่งจะสร้างออบเจ็กต์ที่มีค่าบูลีน ไม่ใช่บูลีนพื้นฐานที่คุณอาจคาดหวัง

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean  );
> false

console.log( falseObject  );
> Boolean { false }

falseObject.valueOf();
> false

เนื่องจากออบเจ็กต์ทั้งหมดมีค่าเป็นจริงโดยเนื้อแท้ ออบเจ็กต์บูลีนที่ได้จะประเมินเป็น "จริง" อย่างหลวมๆ เสมอ แม้ว่าจะมีค่า false ก็ตาม

const falseBoolean = Boolean( 0 );
const falseObject = new Boolean( 0 );

console.log( falseBoolean == true );
> false

console.log( falseObject == true );
> true

ทดสอบความเข้าใจ

คำสั่งใดต่อไปนี้แสดงผล false

สตริงว่าง
0
null
"none"