ใน JavaScript คุณอาจสังเกตว่ามี 2 วิธีเปรียบเทียบค่า:
- Regular equals:
==(double equals) - Strict equals:
===(triple equals)
ความแตกต่าง:
- Regular equals (
==) เปรียบเทียบ แค่ค่า ไม่สนใจ ชนิด (type) - Strict equals (
===) เปรียบเทียบ ทั้งค่าและชนิด
ตัวอย่าง:
// returns true
5 == "5"
// returns false
5 === "5"
ด้านซ้ายเป็น numeric type ด้านขวาเป็น string type (มีเครื่องหมายคำพูด) ทั้งคู่มีค่า "ห้า" แต่ชนิดต่างกัน === จะ true ก็ต่อเมื่อ ทั้งค่าและชนิดเหมือนกัน
ทั้งคู่นี้ true เพราะชนิดเหมือนกัน:
// returns true
5 === 5
// returns true
"5" === "5"