🧠 Type ของข้อมูลใน JavaScript กับการเปรียบเทียบและการใช้เงื่อนไข
ในการเขียน JavaScript สิ่งที่หลายคนมองข้ามแต่ส่งผลต่อ bug และความถูกต้องของโปรแกรมคือ ประเภทของข้อมูล (Data Types) และการเปรียบเทียบค่าด้วย == หรือ === รวมถึงการใช้ในเงื่อนไขต่าง ๆ เช่น if, while, switch เป็นต้น
บทความนี้จะพาไปทำความเข้าใจเกี่ยวกับ ชนิดของข้อมูลใน JavaScript, การเปรียบเทียบ, และ พฤติกรรมของค่าต่าง ๆ เมื่ออยู่ในเงื่อนไข
🔢 ประเภทข้อมูลพื้นฐาน (Primitive Types)
| ประเภท | ตัวอย่าง | คำอธิบาย |
|---|---|---|
| Number | 10, 3.14, -5 | ตัวเลข |
| String | "hello", 'world', '5', "0.50" | ข้อความ |
| Boolean | true, false | ค่าตรรกะ |
| Undefined | let a; | ยังไม่ได้กำหนดค่า |
| Null | null | ไม่มีค่า |
| Object | {}, [], new Date() | กลุ่มของค่าหลายค่า |
| Symbol | Symbol('id') | ค่าที่ไม่ซ้ำกัน |
| BigInt | 123n | ตัวเลขขนาดใหญ่มาก |
🔍 ตัวอย่าง: ตรวจสอบประเภทข้อมูล
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' == 5 | true | แปลง '5' เป็น 5 ก่อน |
| '5' === 5 | false | string vs number |
| null == undefined | true | กรณีพิเศษ |
| null === undefined | false | ต่างชนิด |
คำแนะนำ: ใช้ === เสมอเพื่อความแม่นยำ
✅ การใช้ในเงื่อนไข (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!
