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