Genellikle tanımsız parametreleri vb. Kontrol eden JavaScript kodunu bu şekilde görüyorum:
if (typeof input !== "undefined") {
// do stuff
}
Bu, hem tür arama hem de dize karşılaştırması içerdiğinden, ayrıntılarından bahsetmeden, biraz savurgan görünüyor. Yine de gerekli çünkü undefined
yeniden adlandırılabilir.
Benim sorum:
Bu kod bu yaklaşımdan daha iyi nasıl:
if (null != input) {
// do stuff
}
Bildiğim kadarıyla yeniden tanımlayamazsınız null
, bu yüzden beklenmedik bir şekilde kırılmaz. Ve, çünkü tip zorlama !=
operatörü, bu ikisi için kontroller undefined
ve null
sık sık ... Eğer (örneğin isteğe bağlı fonksiyon parametreleri için) istediğiniz tam olarak ne.
Yine de bu form yaygın görünmüyor ve JSLint'in kötü !=
operatörü kullandığınız için size bağırmasına bile neden oluyor .
Bu neden kötü stil olarak kabul edilir?
if (null != input)
sadece "Yoda konuşun" İngilizce konuşmacı (biri olduğumu .... uuammmmm) yani onlar aynı şey eşittir eğer gerçekten sadece anlambilimidir. BENİM NACİZANE FİKRİME GÖRE.