小tips:JS的Truthy和Falsy(真值与假值)
前言
Truthy 不等于 ture,他是指是在Boolean上下文中转换后的值为真的值。我的理解是,在javascript中所有表达式为true的值。同理Falsy指的是在javascript中所有表达式为false的值。
所有值都是真值,除非它们被定义为 falsy (即, 除了false,0,“”,null,undefined和NaN 外)。
Truthy
JavaScript中的真值示例如下(将被转换为true类型,if 后的代码段将被执行):
if (true) if ({}) if ([]) if (42) if ("foo") if (new Date()) if (-42) if (3.14) if (-3.14) if (Infinity) if (-Infinity)
Falsy
JavaScript中falsy值的例子 (将falsy值转换为false):
if (false) if (null) if (undefined) if (0) if (NaN) if ('') if ("")
falsy有时写作falsey,即使在英语中,通常将一个单词转换成形容词时,会去掉末尾的字母e,添加字母y。