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