Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ความแตกต่างระหว่าง == และ === ใน JavaScript

ใน JavaScript ใช้ double equals และ triple equals สำหรับเปรียบเทียบสอง operand ความแตกต่างคือ

ลำดับคีย์Double Equals (==)Triple Equals (===)
1ชื่อDouble equals เรียกว่า Equality OperatorTriple equals เรียกว่า Identity / Strict equality Operator
2การเปรียบเทียบDouble equals ใช้ Type converting (แปลงประเภท)Triple equals ใช้ Strict conversion โดยไม่แปลง operand ใดๆ
3ไวยากรณ์Double equals: (a == b)Triple equals: (a === b)
4การทำงานDouble equals แปลง operand ให้เป็นประเภทเดียวกันก่อนแล้วค่อยเปรียบเทียบ (type coercion comparison)Triple equals ไม่แปลงประเภทก่อนเปรียบเทียบ คืน true ก็ต่อเมื่อ type และ value ของทั้งสอง operand เหมือนกันทุกประการ

ตัวอย่าง == vs ===

var a = true; var b = 1; var c = true; console.log (a == b); // แปลง 1 เป็น boolean true แล้วค่อยเปรียบเทียบ console.log (a === c); // ทั้งคู่เป็นประเภทเดียวกัน ไม่ต้องแปลง เปรียบเทียบตรง console.log (a === b); // ไม่แปลง ประเภทต่างกัน คาดหวัง false

ผลลัพธ์

true true false