Programming Track
JavaScript
Operators
Comparison Operators
เรียนรู้ตัวดำเนินการเปรียบเทียบทั้ง 6 ชนิด ผลลัพธ์เป็น boolean เสมอ พร้อมเข้าใจความแตกต่างระหว่าง === กับ == และฝึกตรวจสอบเงื่อนไขจริงผ่าน Lab
Comparison Operator คืออะไร
Comparison Operator คือตัวดำเนินการที่ใช้เปรียบเทียบค่าสองค่า ผลลัพธ์ที่ได้เป็น boolean เสมอ — ได้แค่ true หรือ false ใช้บ่อยในทุกที่ที่ต้องตัดสินใจด้วย boolean
| Operator | ความหมาย | ตัวอย่าง | ผลลัพธ์ |
|---|---|---|---|
| === | เท่ากัน (strict) | 5 === 5 | true |
| !== | ไม่เท่ากัน (strict) | 5 !== 3 | true |
| > | มากกว่า | 10 > 5 | true |
| < | น้อยกว่า | 3 < 8 | true |
| >= | มากกว่าหรือเท่ากับ | 5 >= 5 | true |
| <= | น้อยกว่าหรือเท่ากับ | 4 <= 3 | false |
=== vs == — ใช้อันไหน?
มี operator สองชนิดที่ดูเหมือนกัน แต่ต่างกันมาก: • === (Strict Equality) — เปรียบเทียบทั้งค่าและชนิดข้อมูล ปลอดภัยที่สุด • == (Loose Equality) — แปลงชนิดข้อมูลก่อนเปรียบเทียบ อาจให้ผลที่คาดไม่ถึง ⚠️ ใช้ === เสมอ ยกเว้นมีเหตุผลชัดเจนมาก
=== vs == ต่างกันอย่างไรJS
== แปลงชนิดข้อมูลก่อนเปรียบเทียบ ทำให้เกิด bug ที่หายาก
// === strict — ตรวจทั้งค่าและชนิด
console.log(5 === 5); // true (number vs number)
console.log("5" === 5); // false (string vs number)
console.log(0 === false); // false (number vs boolean)
// == loose — แปลงชนิดก่อนเปรียบเทียบ
console.log("5" == 5); // true ← อันตราย!
console.log(0 == false); // true ← อันตราย!
console.log("" == false); // true ← อันตราย!ตัวอย่างการใช้งานจริง
ตรวจสอบเงื่อนไขด้วย comparison operatorsJS
แสดงผลลัพธ์ boolean ของการเปรียบเทียบ
let score = 75;
let passMark = 60;
let maxScore = 100;
let isPassed = score >= passMark; // true
let isPerfect = score === maxScore; // false
let needsImprovement = score < passMark; // false
console.log("ผ่านหรือไม่:", isPassed); // true
console.log("คะแนนเต็มหรือไม่:", isPerfect); // false
console.log("ต้องปรับปรุงหรือไม่:", needsImprovement); // falseสรุป
- Comparison operators ให้ผลเป็น boolean (true/false) เสมอ
- ใช้ === และ !== เสมอ — ตรวจทั้งค่าและชนิดข้อมูล
- หลีกเลี่ยง == และ != เพราะแปลงชนิดอัตโนมัติอาจทำให้เกิด bug
- >, <, >=, <= ใช้กับตัวเลขเป็นหลัก