`truthy` และ `falsy` ใน JavaScript

`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

  • falsefalse ในประเภท Boolean
  • 0 — เลขศูนย์ (เช่น 0.0 แบบทศนิยมก็ถือว่าเป็น falsy)
  • -0 — ศูนย์ติดลบ (ในทางเทคนิคต่างจาก 0 แต่ก็ยังถือว่าเป็น falsy)
  • 0n — ศูนย์ในประเภท BigInt
  • "" — สตริงว่างที่มีความยาวเป็น 0
  • null — ไม่มีค่าที่ระบุ
  • 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

  • truetrue ในประเภท 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 ด้วย

YouTube Video