Type ของข้อมูลใน JavaScript กับการเปรียบเทียบและการใช้เงื่อนไข



🧠 Type ของข้อมูลใน JavaScript กับการเปรียบเทียบและการใช้เงื่อนไข

ในการเขียน JavaScript สิ่งที่หลายคนมองข้ามแต่ส่งผลต่อ bug และความถูกต้องของโปรแกรมคือ ประเภทของข้อมูล (Data Types) และการเปรียบเทียบค่าด้วย == หรือ === รวมถึงการใช้ในเงื่อนไขต่าง ๆ เช่น if, while, switch เป็นต้น

บทความนี้จะพาไปทำความเข้าใจเกี่ยวกับ ชนิดของข้อมูลใน JavaScript, การเปรียบเทียบ, และ พฤติกรรมของค่าต่าง ๆ เมื่ออยู่ในเงื่อนไข

🔢 ประเภทข้อมูลพื้นฐาน (Primitive Types)

ประเภท ตัวอย่าง คำอธิบาย
Number10, 3.14, -5ตัวเลข
String"hello", 'world', '5', "0.50"ข้อความ
Booleantrue, falseค่าตรรกะ
Undefinedlet a;ยังไม่ได้กำหนดค่า
Nullnullไม่มีค่า
Object{}, [], new Date()กลุ่มของค่าหลายค่า
SymbolSymbol('id')ค่าที่ไม่ซ้ำกัน
BigInt123nตัวเลขขนาดใหญ่มาก


🔍 ตัวอย่าง: ตรวจสอบประเภทข้อมูล

console.log(typeof 42);        // "number"
console.log(typeof 'hello');   // "string"
console.log(typeof true);      // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null);      // "object" (⚠️ เป็นบั๊กของ JS)
console.log(typeof {});        // "object"
console.log(typeof []);        // "object"


⚖️ การเปรียบเทียบค่า

`==` (ไม่เข้มงวด) vs `===` (เข้มงวด)

คำสั่งผลลัพธ์เหตุผล
'5' == 5trueแปลง '5' เป็น 5 ก่อน
'5' === 5falsestring vs number
null == undefinedtrueกรณีพิเศษ
null === undefinedfalseต่างชนิด

คำแนะนำ: ใช้ === เสมอเพื่อความแม่นยำ


✅ การใช้ในเงื่อนไข (Truthy / Falsy)

❌ ค่าที่เป็น Falsy

  • false
  • 0
  • ""
  • null
  • undefined
  • NaN

✅ ค่าที่เป็น Truthy

  • "hello"
  • 1, -1
  • []
  • {}
  • "0"


🔍 ตัวอย่าง:

if ('') {
  console.log('จะไม่แสดงข้อความนี้');
}

if ('0') {
  console.log('จะแสดงข้อความนี้ เพราะ "0" เป็น string → truthy');
}


🧪 ตัวอย่างการใช้งานจริง

const input = '';

if (input) {
  console.log('มีค่าป้อนเข้ามา');
} else {
  console.log('ไม่มีค่า'); // '' เป็น falsy
}


📌 เทคนิคที่ควรรู้

  • ใช้ typeof เพื่อตรวจสอบชนิดข้อมูล
  • ใช้ === แทน == เพื่อป้องกัน bug
  • เข้าใจ truthy / falsy เพื่อเขียนเงื่อนไขให้ถูกต้อง
  • ใช้ if (!value) เพื่อตรวจสอบค่าที่ว่าง


🎯 สรุป

สิ่งที่ควรรู้เหตุผล
ใช้ === แทน ==ป้องกัน bug
รู้จักประเภทข้อมูลเขียนโค้ดแม่นยำ
เข้าใจ falsy/truthyเขียนเงื่อนไขได้ถูกต้อง


💬 ทิ้งท้าย

การเข้าใจ ประเภทของข้อมูล และ พฤติกรรมของการเปรียบเทียบและเงื่อนไข คือพื้นฐานสำคัญของ JavaScript ไม่ว่าจะเป็นมือใหม่หรือมืออาชีพก็ไม่ควรมองข้ามครับ 😊

🧑‍💻 Happy Coding!

แสดงความคิดเห็น (0)
ใหม่กว่า เก่ากว่า