【发布时间】:2011-06-05 07:27:29
【问题描述】:
考虑空的 JavaScript 数组:
var a = [];
alert(a == false); // shows true
alert(!a); // shows false!
如何解释? 规则是什么?
【问题讨论】:
-
感谢指点。但不完全是,我要求通用规则。
-
对于松散的
==运算符,规则不是那么通用。您应该通读 this answer 引用的抽象相等比较算法。 -
或者,如果你想保持简单,完全避免类型强制。强制使用可能有一些很好的用例 (
==),但作为一般规则,您可以避免它 (===)。然后,您可以在该规则的基础上构建,并在您确实想要强制的地方添加例外。
标签: javascript types casting