Каждый раз, когда кто-либо упоминает тестирование с undefined
, он указал, что undefined
не является ключевым словом, поэтому it может быть установлено на "hello"
, поэтому следует использовать typeof x == "undefined"
. Это кажется мне смешным. Никто никогда не сделает этого, и если бы они это сделали, было бы разумно никогда не использовать какой-либо код, который они написали... правильно?
Я нашел один пример того, кто случайно установил undefined
в null
, и это было дано как причина, чтобы не предполагать, что undefined
isn ' t перезаписано. Но если бы они это сделали, ошибка исчезла бы, и я не понимаю, как это лучше.
В С++ все хорошо знают, что законно говорить #define true false
, но никто никогда не советует вам избегать true
и использовать 0 == 0
. Вы просто предполагаете, что никто никогда не будет достаточно большим рывком, чтобы сделать это, и если они это сделают, никогда больше не верьте их коду.
Неужели это когда-либо на самом деле укусил кого-то, кого кто-то назначил на undefined
(специально), и он сломал ваш код, или это скорее гипотетическая угроза? Я готов принять мои шансы сделать мой код немного более удобочитаемым. Это действительно плохая идея?
Повторяю, я не прошу, как защитить от переназначенного undefined. Я видел эти трюки, написанные уже 100 раз. Я спрашиваю, как опасно не использовать эти трюки.