Vedo spesso il codice JavaScript che controlla i parametri non definiti ecc. In questo modo:
if (typeof input !== "undefined") {
// do stuff
}
Questo sembra un po 'dispendioso, dal momento che comporta sia una ricerca del tipo che un confronto di stringhe, per non parlare della sua verbosità. È necessario perché undefined
potrebbe essere rinominato, però.
La mia domanda è: in che
modo questo codice è migliore di questo approccio:
if (null != input) {
// do stuff
}
Per quanto ne so, non puoi ridefinire null
, quindi non si romperà inaspettatamente. E, a causa della coercizione del tipo !=
dell'operatore, questo verifica sia per undefined
e null
... che spesso è esattamente ciò che si desidera (ad es. Per parametri di funzione opzionali).
Tuttavia, questo modulo non sembra molto diffuso e fa persino gridare a JSLint per aver usato l' !=
operatore malvagio .
Perché questo è considerato un cattivo stile?
if (null != input)
è solo "Yoda Speak" per chi parla inglese (Di uno che sono .... uuammmmm) quindi se si equivalgono alla stessa cosa è davvero solo una semantica. A PARER MIO.