JavaScript Academy · บทเรียน

ค่า Truthy และ Falsy

เรียนรู้ว่าค่าใดประเมินผลเป็นจริงหรือเท็จ

บทเรียน 1 จาก 413 ขั้นตอน

ค่า Truthy และ Falsy เป็นบทเรียน JavaScript Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน JavaScript Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

ค่าที่ถือว่าเป็นจริงและเป็นเท็จ

ในบริบทบูลีน เช่น ในคำสั่ง if ค่าทุกค่าของ JavaScript จะถูกพิจารณาว่าเป็น ค่าที่ถือว่าเป็นจริง หรือ ค่าที่ถือว่าเป็นเท็จ ค่าที่ถือว่าเป็นเท็จจะทำงานเหมือนค่าเท็จ ส่วนค่าอื่นทั้งหมดถือว่าเป็นจริง

if ("hello") {
  console.log("strings are truthy")
}

รายการค่าที่ถือว่าเป็นเท็จ

มีค่าที่ถือว่าเป็นเท็จอยู่ทั้งหมด แปดค่า ควรจดจำไว้ เพราะค่าทุกค่าที่ไม่อยู่ในรายการนี้จะถือว่าเป็นจริง

  • ค่าเท็จ
  • ศูนย์และศูนย์ติดลบ
  • สตริงว่าง
  • ค่าว่าง
  • ค่าที่ไม่กำหนด
  • NaN
  • ศูนย์ของ BigInt
console.log(Boolean(0))
console.log(Boolean(""))
console.log(Boolean(null))

ศูนย์ถือว่าเป็นเท็จ

เลขศูนย์ถือว่าเป็นเท็จ แต่ตัวเลขอื่นทั้งหมด รวมถึงตัวเลขติดลบ ถือว่าเป็นจริง

console.log(Boolean(0))
console.log(Boolean(-5))
console.log(Boolean(0.1))

สตริงว่างถือว่าเป็นเท็จ

สตริงว่างถือว่าเป็นเท็จ แต่สตริงที่มีช่องว่างหรือมีข้อความว่าเท็จถือว่าเป็นจริง เพราะไม่ใช่สตริงว่าง

console.log(Boolean(""))
console.log(Boolean(" "))
console.log(Boolean("false"))

ค่าว่างและค่าที่ไม่กำหนด

ทั้งค่าว่างและค่าที่ไม่กำหนดถือว่าเป็นเท็จ โดยใช้แทนการไม่มีค่า

console.log(Boolean(null))
console.log(Boolean(undefined))

NaN ถือว่าเป็นเท็จ

NaN ซึ่งเป็นผลลัพธ์จากการดำเนินการทางตัวเลขที่ไม่ถูกต้อง ถือว่าเป็นเท็จ วิธีนี้ช่วยตรวจจับการแปลงค่าที่ล้มเหลวในการตรวจสอบแบบบูลีน

console.log(Boolean(NaN))
console.log(Boolean(Number("abc")))

ออบเจ็กต์ถือว่าเป็นจริงเสมอ

ออบเจ็กต์และอาร์เรย์ทุกชนิดถือว่าเป็นจริง แม้จะว่างเปล่าก็ตาม นักพัฒนาหลายคนประหลาดใจเพราะคาดว่าอาร์เรย์ว่างจะถือว่าเป็นเท็จ

console.log(Boolean({}))
console.log(Boolean([]))

การแปลงเป็นค่าบูลีน

ตัวดำเนินการปฏิเสธซ้อนเป็นวิธีแบบกระชับในการแปลงค่าใด ๆ ให้เป็นค่าเทียบเท่าแบบบูลีน โดยทำงานในลักษณะเดียวกับที่คำสั่ง if ทำ

console.log(!!"text")
console.log(!!0)
console.log(!![])

การใช้ค่าจริงเท็จในเงื่อนไข

คุณมักอาศัยการพิจารณาค่าจริงเท็จเพื่อตรวจสอบค่าที่หายไป สตริงว่าง ค่าว่าง หรือค่าที่ไม่กำหนดจะทำให้ข้ามแขนง if ทั้งหมด

function greet(name) {
  if (name) {
    return "Hi " + name
  }
  return "Hi guest"
}
console.log(greet(""))
console.log(greet("Ann"))

ค่าเริ่มต้นด้วย OR

ตัวดำเนินการตรรกะ OR จะคืนตัวถูกดำเนินการตัวแรกที่ถือว่าเป็นจริง จึงเป็นวิธีคลาสสิกในการกำหนดค่าเริ่มต้น โปรดระวังว่าศูนย์และสตริงว่างจะทำให้ใช้ค่าเริ่มต้น

const input = ""
const value = input || "default"
console.log(value)

ค่าที่เป็นค่าว่างกับค่าที่เป็นเท็จ

ตัวดำเนินการรวมค่าเมื่อเป็นค่าว่างจะใช้ค่าทดแทนเฉพาะเมื่อเป็นค่าว่างหรือค่าที่ไม่กำหนด ไม่ใช่ค่าที่ถือว่าเป็นเท็จอื่น ๆ เช่น ศูนย์ จึงปลอดภัยกว่าสำหรับค่าเริ่มต้นที่เป็นตัวเลข

const count = 0
console.log(count || 10)
console.log(count ?? 10)

ตรวจสอบความเข้าใจอย่างรวดเร็ว

ทดสอบความรู้เรื่องค่าที่ถือว่าเป็นจริงและเป็นเท็จของคุณ

ทบทวน

ทบทวน: มีค่าที่ถือว่าเป็นเท็จอยู่แปดค่า ส่วนค่าอื่นทั้งหมดถือว่าเป็นจริง

  • ค่าที่ถือว่าเป็นเท็จ: ค่าเท็จ ศูนย์ สตริงว่าง ค่าว่าง ค่าที่ไม่กำหนด NaN และศูนย์ของ BigInt
  • ออบเจ็กต์และอาร์เรย์ว่างถือว่าเป็นจริง
  • การปฏิเสธซ้อนจะแปลงค่าเป็นบูลีน
  • การรวมค่าเมื่อเป็นค่าว่างจะตรวจสอบเฉพาะค่าว่างและค่าที่ไม่กำหนด
console.log(Boolean([]))
console.log(Boolean(0))
เริ่มต้นได้ฟรี

เรียนรู้ JavaScript ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
59
บทเรียน
200

คำถามที่พบบ่อย

บทเรียน “ค่า Truthy และ Falsy” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ค่า Truthy และ Falsy” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส JavaScript Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส JavaScript Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ค่า Truthy และ Falsy”

เรียนรู้ว่าค่าใดประเมินผลเป็นจริงหรือเท็จ คุณปฏิบัติ JavaScript Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน JavaScript Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน JavaScript Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “ค่า Truthy และ Falsy” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน JavaScript Academy นี้ได้ไหม

ได้ บทเรียน JavaScript Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ค่า Truthy และ Falsy
  2. ความเท่ากันแบบหลวมเทียบกับแบบเคร่งครัด
  3. การบังคับแปลงชนิดโดยนัยในการดำเนินการ
  4. เทคนิคการแปลงชนิดอย่างชัดเจน
← กลับไปที่ JavaScript Academy