【发布时间】:2016-09-20 16:57:27
【问题描述】:
我认为我知道的每一种语言
if(a)
和
是一样的if(a == true)
在 JavaScript 中结果是不正确的,因为:
if([])
似乎表现得好像条件已经满足,但是:
if([] == true)
做相反的事情。
我真的找不到任何可能的解释,尤其是空字符串不会出现此问题(例如,== true,但不是=== true,与空数组相同)。这是 JavaScript 中的错误还是什么?
【问题讨论】:
-
if(a) [...] same as [...] if(a == true)- 呃,这可能只是 PHP 和 Python?能够将任意值转换为布尔值并不是普遍的。无论如何,here 是真/假值在 JS 中的工作方式。
标签: javascript