3
ปลอดภัยหรือไม่ที่จะเปรียบเทียบอย่างเข้มงวดในคำสั่งสวิตช์ JavaScript
ฉันมีตัวแปรที่อาจเป็นบูลีน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 นั้นรับประกันว่าเข้มงวดหรือไม่?