Ogni volta che qualcuno menziona il testing contro undefined
, viene sottolineato che undefined
non è una parola chiave, quindi potrebbe essere impostata su"hello"
, quindi dovresti usare typeof x == "undefined"
invece. Questo mi sembra ridicolo. Nessuno lo farebbe mai, e se lo facessero sarebbe una ragione sufficiente per non usare mai alcun codice che hanno scritto ... giusto?
Ho trovato un esempio di qualcuno che ha impostato accidentalmente undefined
su null
, e questo è stato fornito come motivo per evitare di presumere che undefined
non venga sovrascritto. Ma se lo avessero fatto, il bug sarebbe passato inosservato e non vedo come sia meglio.
In C ++ tutti sanno bene che è legale dirlo #define true false
, ma nessuno consiglia mai di evitarlo true
e di usarlo 0 == 0
. Presumi solo che nessuno sarebbe mai un idiota abbastanza grande da farlo, e se lo fanno, non fidarti mai più del loro codice.
Questo ha mai effettivamente morso qualcuno a cui qualcun altro era assegnato undefined
(apposta) e ha rotto il tuo codice, o è più una minaccia ipotetica? Sono disposto a correre le mie possibilità per rendere il mio codice leggermente più leggibile. È davvero una cattiva idea?
Per ribadire, io non chiedendo come proteggere contro riassegnato indefinito. Ho già visto quei trucchi scritti 100 volte. Chiedo quanto sia pericoloso non usare quei trucchi.