每当有人提到针对进行测试时undefined
,都会指出它undefined
不是关键字,因此可以将其设置为"hello"
,因此您应该 typeof x == "undefined"
改用。这对我来说似乎很荒谬。没有人会这样做,如果这样做的话,就足够理由永远不使用他们编写的任何代码吧?
我发现了一个示例,该示例不小心设置undefined
为null
,这是为了避免假设该undefined
值未被覆盖而提供的理由。但是,如果他们这样做了,那么该错误将不会被发现,而且我看不出有什么更好的方法。
在C ++中,每个人都清楚地说这是合法的#define true false
,但是没有人建议您避免true
使用它0 == 0
。您只是假设没有人会大胆地这样做,如果这样做了,就永远不要再信任他们的代码了。
这是否真的曾经咬过别人undefined
(故意)指派给别人的人,并且破坏了您的代码,或者这更多是一种假想的威胁?我愿意借此机会使我的代码更具可读性。这真的是个坏主意吗?
重申一下,我不是在要求如何防止未分配的未定义内容。我已经看过那些技巧写了100遍了。我在问不使用这些技巧是多么危险。