🧠 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!