Javascript的Truthy和falsy例子

253 阅读1分钟

在javascript中,布尔值总是被评估为truefalse 值。

在其他编程语言中,布尔值是真值和假值。

在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的真实性和虚假性操作检查示例

truthyfalsy值在条件表达式和等价运算符中的使用。

下面是一个检查条件的例子

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布尔表达式中truthyfalsy 的表格。

Truthyfalsy
truefalse
numbers0,-0,0n
{},[]“”,'',``
“0”, “false”, any stringsNAN,undefined,null
Infinity,-Infinity,new Date()document.all