ฉันมีตัวแปรที่อาจเป็นบูลีนfalse
หรือจำนวนเต็ม (รวม 0) ฉันต้องการวางไว้ในคำสั่งสวิตช์เช่น:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
ในการทดสอบของฉันใน Google Chrome ดูเหมือนว่าจะทำงานได้อย่างสมบูรณ์ แต่ฉันกังวลเล็กน้อยที่จะใช้เพราะฉันกลัวว่าในบางเบราว์เซอร์ถ้าmy_var
เป็นfalse
เช่นนั้นมันอาจดำเนินการในกรณีแรกตั้งแต่0 == false
นั้นมา
ฉันแค่สงสัยว่ามีอะไรเป็นทางการใน JavaScript ที่บอกว่าคำสั่ง switch จะใช้การเปรียบเทียบที่เข้มงวดเช่นนั้น0 !== false
แต่ฉันไม่พบอะไรเลยและฉันไม่แน่ใจว่าสิ่งนี้จะทำงานได้ดีในเอ็นจิ้น JavaScript อื่นหรือไม่ มีใครทราบบ้างว่าการเปรียบเทียบที่ทำโดยคำสั่ง switch นั้นรับประกันว่าเข้มงวดหรือไม่?