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

ควรใช้ตัวดำเนินการเท่ากันแบบไหน (== vs ===) ในการเปรียบเทียบ JavaScript


เครื่องหมายเท่าสองตัว (==) คือตัวดำเนินการเปรียบเทียบความเท่าเทียมแบบนามธรรม (abstract equality) ซึ่งจะแปลงออเปอรันด์ให้เป็นชนิดเดียวกันก่อนทำการเปรียบเทียบ

ตัวอย่าง:

4 == 4    // true
'4' == 4  // true
4 == '4'  // true
0 == false // true

เครื่องหมายเท่าสามตัว (===) คือตัวดำเนินการเปรียบเทียบความเท่าเทียมแบบเข้มงวด (strict equality) ซึ่งคืนค่า false หากชนิดข้อมูลต่างกันหรือค่าต่างกัน

ตัวอย่าง:

4 === 4    // true
4 === '4'  // false
var v1 = {'value': 'key'};
var v2 = {'value': 'key'};
v1 === v2  // false