Tôi có một biến có thể là boolean false
hoặc số nguyên (bao gồm cả 0). Tôi muốn đặt nó trong một câu lệnh chuyển đổi như:
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
Trong các thử nghiệm của tôi trong Google Chrome, nó có vẻ hoạt động hoàn hảo, nhưng tôi hơi lo lắng khi sử dụng nó vì tôi sợ rằng trong một số trình duyệt, nếu my_var
có false
, nó có thể thực thi trường hợp đầu tiên kể từ đó 0 == false
.
Tôi chỉ tự hỏi liệu có điều gì chính thức trong JavaScript nói rằng câu lệnh switch sẽ sử dụng phép so sánh chặt chẽ như vậy không 0 !== false
, nhưng tôi không thể tự tìm thấy bất cứ điều gì và tôi không chắc liệu điều này có hoạt động tốt trong các công cụ JavaScript khác nhau hay không. Có ai biết nếu so sánh được thực hiện bởi một tuyên bố chuyển đổi được đảm bảo là nghiêm ngặt?