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ü undefinedyeniden 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 undefinedve nullsı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.