如果(“!”布尔函数())
If ("!" BooleanFunction())
假设您有一个 function booleanFunction(param)
,有时 returns true
有时 returns false
.
以下条件如何工作?
if (! booleanFunction(param)){
...
}
它调用函数,然后将否定运算符 (!
) 应用于函数 returns 的结果。所以如果函数returnstrue
,条件为假(!true
是false
);如果函数 returns false
,则条件为真(!false
为 true
)。 (作为 side-effect,它还会将 truthy 和 falsy 值强制转换为 false
或 true
,分别。(Falsy 值是 0
、""
、NaN
、undefined
、null
,当然还有 false
; 真实 价值观就是一切。)
非运算符:
- 将 RHS 上的任何内容隐式转换为布尔值
- 反转它(将
true
转换为 false
,反之亦然)
然后 if
语句会测试反转后的值是 true
还是 false
以及是否 运行 以下代码块。
假设您有一个 function booleanFunction(param)
,有时 returns true
有时 returns false
.
以下条件如何工作?
if (! booleanFunction(param)){
...
}
它调用函数,然后将否定运算符 (!
) 应用于函数 returns 的结果。所以如果函数returnstrue
,条件为假(!true
是false
);如果函数 returns false
,则条件为真(!false
为 true
)。 (作为 side-effect,它还会将 truthy 和 falsy 值强制转换为 false
或 true
,分别。(Falsy 值是 0
、""
、NaN
、undefined
、null
,当然还有 false
; 真实 价值观就是一切。)
非运算符:
- 将 RHS 上的任何内容隐式转换为布尔值
- 反转它(将
true
转换为false
,反之亦然)
然后 if
语句会测试反转后的值是 true
还是 false
以及是否 运行 以下代码块。