Za każdym razem, gdy ktoś wspomina testowanie przeciwko undefined
, wskazuje, że undefined
nie jest to słowo kluczowe, więc można je ustawić na"hello"
, więc powinieneś użyć typeof x == "undefined"
zamiast tego. Wydaje mi się to śmieszne. Nikt nigdy by tego nie zrobił, a gdyby to zrobili, byłby to wystarczający powód, aby nigdy nie używać żadnego napisanego przez siebie kodu ... prawda?
Znalazłem jeden przykład kogoś, kto przypadkowo ustawił się undefined
na null
, i został podany jako powód, aby uniknąć założenia, że undefined
nie jest nadpisany. Ale gdyby to zrobili, błąd pozostałby niewykryty i nie wiem, jak to jest lepsze.
W C ++ wszyscy doskonale zdają sobie sprawę, że to legalne #define true false
, ale nikt nigdy nie radzi, aby unikać true
i używać 0 == 0
zamiast tego. Po prostu zakładasz, że nikt nigdy nie byłby na tyle dużym palantem, żeby to zrobić, a jeśli tak, to nigdy więcej nie ufaj ich kodowi.
Czy kiedykolwiek ugryzło to kogoś, komu ktoś inny został przydzielony undefined
(celowo) i złamało twój kod, czy jest to bardziej hipotetyczne zagrożenie? Jestem gotów zaryzykować, aby mój kod był nieznacznie bardziej czytelny. Czy to naprawdę zły pomysł?
Powtórzyć, ja nie z prośbą o jak chronić przed przeniesiony niezdefiniowane. Widziałem te sztuczki napisane już 100 razy. Pytam, jak niebezpieczne jest niestosowanie tych sztuczek.