Chaque fois que quelqu'un mentionne un test undefined
, il est signalé que ce undefined
n'est pas un mot-clé, il peut donc être défini sur"hello"
, vous devriez donc l'utiliser à la typeof x == "undefined"
place. Cela me semble ridicule. Personne ne ferait jamais ça, et s'ils le faisaient, ce serait une raison suffisante pour ne jamais utiliser le code qu'ils ont écrit ... n'est-ce pas?
J'ai trouvé un exemple de quelqu'un qui s'est accidentellement mis undefined
à null
, et cela a été donné comme une raison pour éviter de supposer que ce undefined
n'est pas écrasé. Mais s'ils avaient fait cela, le bogue n'aurait pas été détecté, et je ne vois pas en quoi c'est mieux.
En C ++, tout le monde sait que c'est légal de le dire #define true false
, mais personne ne vous conseille jamais d'éviter true
et d'utiliser à la 0 == 0
place. Vous supposez simplement que personne ne serait jamais assez gros pour faire ça, et s'ils le font, ne faites plus jamais confiance à leur code.
Cela a-t-il déjà mordu quelqu'un où quelqu'un d'autre a été assigné undefined
(exprès) et cela a cassé votre code, ou est-ce plus une menace hypothétique? Je suis prêt à tenter ma chance pour rendre mon code légèrement plus lisible. Est-ce vraiment une mauvaise idée?
Pour répéter, je ne demande pas comment se protéger contre les réaffectations indéfinies. J'ai déjà vu ces astuces écrites 100 fois. Je demande à quel point il est dangereux de ne pas utiliser ces astuces.