Кожного разу, коли хтось згадує тестування проти undefined, зазначається, що undefinedце не ключове слово, тому для нього можна встановити значення"hello" , тому замість цього слід використовувати typeof x == "undefined" . Це здається мені смішним. Ніхто ніколи цього не зробив би, і якби вони це зробили, це було б достатньою підставою ніколи не використовувати будь-який написаний ними код ... так?
Я знайшов один приклад того , хто випадково встановлений undefinedв null, і це було дано в якості причини , щоб уникнути за умови , що undefinedНЕ буде переписана. Але якби вони це зробили, помилка не виявилася б, і я не бачу, як це краще.
У C ++ всі добре знають, що це законно казати #define true false, але ніхто ніколи не радить вам уникати trueі використовувати 0 == 0замість цього. Ви просто припускаєте, що ніхто ніколи не був би настільки великим придурком, щоб це зробити, і якщо вони це роблять, ніколи більше не довіряйте своєму коду.
Це коли-небудь насправді вкусило когось, кого призначив хтось undefined(навмисно), і це зламало ваш код, чи це скоріше гіпотетична загроза? Я готовий ризикувати, щоб зробити свій код трохи читабельнішим. Це насправді погана ідея?
Повторюючи, я не запитую, як захиститись від переназначення невизначеного. Я вже бачив ці трюки, написані 100 разів. Я запитую, наскільки небезпечно не використовувати ці фокуси.