Ах, там один для анти-паттернов.
undefined
не является ключевым словом.
Когда вы присваиваете запись var foo = undefined;
, вы присваиваете ему значение символа undefined
, которое вы не определили, и, следовательно, вы получите значение "undefined"
. Вы бы получили точно такой же результат, если бы вы присвоили его UnDeFiNeD
или NotFineAtAll
или _qwertyuiop
Почему это так ужасно? Помимо того, что это приводит к ложному пониманию того, что происходит, что случится, если вам случится загрузить библиотеку или нанять разработчика, который пишет var undefined = true;