Boole false
veya bir tam sayı (0 dahil) olabilecek bir değişkenim var. Ben böyle bir switch deyiminde koymak istiyorum: Google Chrome'da benim testlerdeJavaScript anahtar ifadesinde sıkı bir karşılaştırma yapmak güvenli midir?
switch(my_var){
case 0:
// Do something
break;
case 1:
// Do something else
break;
case false:
// Some other code
}
, mükemmel iş gibi görünüyor, ama ben korkarım çünkü kullanmak için biraz gerginim bazı tarayıcılarda my_var
, false
ise, 0 == false
'dan beri ilk durumu yürütebilir.
Sadece JavaScript'de resmi bir şey olup olmadığını soran anahtar deyiminin, 0 !== false
gibi sıkı bir karşılaştırma kullanacağını, ancak kendim hiçbir şey bulamadığım ve bunun iyi çalışıp çalışmadığından emin olamadığını merak ediyorum. farklı JavaScript motorları. Bir anahtar beyanı ile yapılan karşılaştırmanın katı olması garanti edilirse, kimse biliyor mu?
[1999'dan beri böyle bir parti] olmuştu (http://www.ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%203rd%20edition, % 20Aralık% 201999.pdf) (sayfa 68, s. 12.11, CaseBlock # 3) – Walf