Javascript 有效假值

Javascript 有效假值,javascript,boolean,Javascript,Boolean,将任何值转换为Boolean将返回false或true。例如: > Boolean (false) false > Boolean (null) false > Boolean (undefined) false > Boolean ("") false 但是0是特殊的,因为它是一个数字。我认为是一个有效的假值: > Boolean (0) false 是否有其他有效的假值?根据,将根据下表确定表达式的真实性 +---------------+---------

将任何值转换为
Boolean
将返回
false
true
。例如:

> Boolean (false)
false
> Boolean (null)
false
> Boolean (undefined)
false
> Boolean ("")
false
但是
0
是特殊的,因为它是一个数字。我认为是一个有效的假值:

> Boolean (0)
false
是否有其他有效的假值?

根据,将根据下表确定表达式的真实性

+---------------+-------------------------------------------------------+
|参数类型|结果|
+---------------+-------------------------------------------------------+
|未定义|错误|
+---------------+-------------------------------------------------------+
|空|假|
+---------------+-------------------------------------------------------+
|布尔值|结果等于输入参数(无转换)|
+---------------+-------------------------------------------------------+
|数字|如果参数为+0,则结果为假,−0,或NaN|
||否则结果为真|
+---------------+-------------------------------------------------------+
|String |如果参数为空,则结果为false|
||字符串(长度为零);否则结果就是|
||没错|
+---------------+-------------------------------------------------------+
|对象|真|
+---------------+-------------------------------------------------------+
因此,您错过了
-0
NaN

console.log(Boolean(-0));
# false
console.log(Boolean(NaN));
# false

你能定义“有效”吗?@Aioros thefourtheye已经给出了一个很好的答案。:-)假设我们有一个名为
myField
的字段,这是必需的。所以,我需要验证它的值。它不能是
false
undefined
等,但可以是
0
——例如。@IonicăBizău通常,测试您实际关心的条件。e、 g.如果必须是数字,请使用myField==“number”,而不是
!myField
@p.s.w.g在我的情况下,
myField
可以是任何有效值。