在javascript中,布尔值总是被评估为true 或false 值。
在其他编程语言中,布尔值是真值和假值。
在Javascript中,Truthy和Falsy值不仅是真和假,而且是任何被评估为布尔表达式的数据。
truthy - 在布尔语境中被解析为真时返回真 ;falsy- 在布尔语境中被解析为假时返回假。
javascript的假值
falsy 值是指在布尔表达式的执行过程中为假的值。
以下是falsy 值:
- false
- NAN
- undefined
- null
- zero(0)
- -0
- biginteger(0n)
- empty string(""),'',``
- document.all
javascript的Truthy值
truthy 值是指在执行布尔表达式的过程中评估为真的值
- true
- {}
- []
- numbers
- “0”, “false”, any strings
- Infinity
- -Infinity
- new Date()
Javascript的真实性和虚假性操作检查示例
truthy 和 falsy值在条件表达式和等价运算符中的使用。
下面是一个检查条件的例子
function isTrutyFalsy(arg){
if(arg){
console.log(arg + ': Truthy');
}else{
console.log(arg + ': falsy');
}
}
和truthy的例子:
isTrutyFalsy(134)
isTrutyFalsy (true)
isTrutyFalsy ({})
isTrutyFalsy ([])
isTrutyFalsy (42)
isTrutyFalsy ("0")
isTrutyFalsy ("false")
isTrutyFalsy (new Date())
isTrutyFalsy (-15)
isTrutyFalsy (42n)
isTrutyFalsy (1.1)
isTrutyFalsy (-2.5)
isTrutyFalsy (Infinity)
isTrutyFalsy (-Infinity)
输出
134: Truthy
true: Truthy
[object Object]: Truthy
: Truthy
42: Truthy
0: Truthy
false: Truthy
Mon Jan 03 2022 05:45:05 GMT+0000 (Coordinated Universal Time): Truthy
-15: Truthy
42: Truthy
1.1: Truthy
-2.5: Truthy
Infinity: Truthy
-Infinity: Truthy
falsy的例子
isTrutyFalsy("");
isTrutyFalsy('');
isTrutyFalsy(``);
isTrutyFalsy(0);
isTrutyFalsy(-0);
isTrutyFalsy(-0n);
isTrutyFalsy(false);
isTrutyFalsy(NaN);
isTrutyFalsy(null);
isTrutyFalsy(undefined);
输出
: falsy
: falsy
: falsy
0: falsy
0: falsy
0: falsy
false: falsy
NaN: falsy
null: falsy
undefined: falsy
Javascript中的truthy和falsy表
以下是Javascript布尔表达式中truthy 和falsy 的表格。
| Truthy | falsy |
|---|---|
| true | false |
| numbers | 0,-0,0n |
| {},[] | “”,'',`` |
| “0”, “false”, any strings | NAN,undefined,null |
| Infinity,-Infinity,new Date() | document.all |