`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ก็นับว่าเป็นtruthyInfinity— ทั้งบวกและลบของ 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 ด้วย