【发布时间】:2011-05-12 16:25:23
【问题描述】:
谁能解释为什么以下两个陈述都评估为true?
[] == false
和
!![]
这个问题纯粹是出于好奇为什么会发生这种情况,而不是关于如何最好地测试数组是否为空。
【问题讨论】:
-
如果您真的想动手,请查看第 11.9.1 节 ("The Equals Operator ==") 和第 8.7.1 节 (“GetValue(V)”) 在the spec。这将是另一个很好的例子,说明为什么
== true和== false通常不是理想的风格。 :-) -
实际上,使用 == 或 != 从来都不是好的风格。始终使用 === 或 !==,并手动转换操作数。
标签: javascript