`truthy` และ `falsy` ใน JavaScript
บทความนี้อธิบายเกี่ยวกับ truthy
และ falsy
ใน JavaScript
YouTube Video
truthy
และ falsy
ใน JavaScript
แนวคิดของ truthy
และ falsy
ใน JavaScript มีบทบาทสำคัญมาก โดยเฉพาะในการประเมินคำสั่งเงื่อนไข Truthy
และ falsy
ใช้ในการกำหนดค่าว่าจะถูกประเมินผลเป็น true (true
) หรือ false (false
) แต่ค่านี้ไม่จำเป็นต้องเป็น boolean true
หรือ false
โดยตรง
ค่าที่เป็น Falsy
ค่าที่เป็น Falsy
หมายถึงค่าที่ถูกประเมินเป็น false
ในคำสั่งเงื่อนไขของ JavaScript ด้านล่างนี้คือรายการค่าที่เป็น falsy
ใน JavaScript
1const values = [
2 false,
3 0,
4 -0,
5 0.0,
6 -0.0,
7 0n,
8 -0n,
9 "",
10 null,
11 undefined,
12 NaN
13];
14
15for (let value of values) {
16 if (value) {
17 console.log(`${value} is truthy`);
18 } else {
19 console.log(`${value} is falsy`);
20 }
21}
ในตัวอย่างนี้ ค่าที่เป็น falsy
ทั้งหมดจะถูกแสดงผลเป็น "falsy" ด้านล่างนี้คือรายการค่าที่เป็น falsy
ใน JavaScript
false
—false
ในประเภท Boolean0
— เลขศูนย์ (เช่น0.0
แบบทศนิยมก็ถือว่าเป็นfalsy
)-0
— ศูนย์ติดลบ (ในทางเทคนิคต่างจาก0
แต่ก็ยังถือว่าเป็นfalsy
)0n
— ศูนย์ในประเภท BigInt""
— สตริงว่างที่มีความยาวเป็น 0null
— ไม่มีค่าที่ระบุundefined
— ค่าที่ไม่ถูกกำหนดNaN
— ไม่ใช่ตัวเลข
ค่าดังกล่าวจะถูกประเมินเป็น false
ในการดำเนินการทางตรรกะและคำสั่งเงื่อนไข (เช่นคำสั่ง if
)
ค่าที่เป็น Truthy
ค่าทั้งหมดที่ไม่ใช่ falsy
จะเป็น truthy
หมายถึงค่าที่ถูกประเมินผลเป็นบูลีน true
ใน JavaScript ค่าหลายชนิดถูกประเมินเป็น truthy
1const values = [
2 true,
3 1,
4 -1,
5 "Hello",
6 " ",
7 [],
8 {},
9 function() {},
10 Symbol(),
11 Infinity
12];
13
14for (let value of values) {
15 if (value) {
16 console.log(value, ' is truthy');
17 } else {
18 console.log(value, ' is falsy');
19 }
20}
ในโค้ดนี้ ค่าที่เป็น truthy
จะแสดงผลเป็น "truthy" ตัวอย่างเช่น ค่าเหล่านี้ถือว่า truthy
true
—true
ในประเภท Boolean- ตัวเลข (ที่ไม่ใช่ 0) — ตัวอย่างเช่น
1
และ-1
ก็เป็นtruthy
- สตริง (ไม่ว่างเปล่า) — ตัวอย่างเช่น
"Hello"
หรือ" "
(แม้กระทั่งสตริงที่มีแค่ช่องว่างก็นับว่าเป็นtruthy
) - อ็อบเจ็กต์ — แม้แต่อ็อบเจ็กต์ว่าง (
{}
) และอาเรย์ว่าง ([]
) ก็เป็นtruthy
- ฟังก์ชัน — ฟังก์ชันเองก็เป็น
truthy
Symbol
— ค่าประเภทSymbol
ก็นับว่าเป็นtruthy
Infinity
— ทั้งบวกและลบของ infinity นั้นเป็นtruthy
การใช้งานของ truthy
และ falsy
แนวคิดเรื่อง truthy
และ falsy
มักถูกใช้งานในเงื่อนไขและการดำเนินการทางตรรกะ ตัวอย่างเช่น เมื่อกำหนดค่าเริ่มต้นโดยใช้ตัวดำเนินการ ||
(หรือทางตรรกะ) ค่าที่เป็น truthy
อันแรกจะถูกคืนค่าเป็นผลลัพธ์
วิธีการตรวจสอบค่าที่เป็น falsy
การใช้ฟังก์ชัน Boolean
เป็นวิธีที่สะดวกในการตรวจสอบค่าที่เป็น falsy
ฟังก์ชัน Boolean
จะเปลี่ยนค่าที่กำหนดให้เป็นประเภทบูลีนอย่างชัดเจน
ตัวอย่างของฟังก์ชัน Boolean
1const values = [
2 false,
3 0,
4 "",
5 null,
6 undefined,
7 NaN
8];
9
10for (let value of values) {
11 console.log(`${value} is ${Boolean(value) ? 'truthy' : 'falsy'}`);
12}
สรุป
Truthy
และ falsy
ใน JavaScript มีความสำคัญสำหรับการเข้าใจวิธีการประเมินค่าที่ไม่ใช่บูลีนในนิพจน์เงื่อนไข ค่าที่เป็น falsy
รวมถึง false
, 0
, สตริงว่างเปล่า, null
, undefined
, และ NaN
ในขณะที่ค่าที่เหลือจะถูกประเมินเป็น truthy
การเข้าใจแนวคิดเหล่านี้ช่วยให้คุณเขียนโค้ดที่ยืดหยุ่นและมีประสิทธิภาพมากขึ้น
คุณสามารถติดตามบทความข้างต้นโดยใช้ Visual Studio Code บนช่อง YouTube ของเรา กรุณาตรวจสอบช่อง YouTube ด้วย