在 JavaScript 中,有六个值被视为“假值”(falsy values),即在布尔上下文中会被当作 false。这些值包括:
false
false: 显然,布尔值 false 是布尔上下文中的假值。
let isFalse = false;
0: 数字 0 被视为假值。
0
let zeroValue = 0;
NaN: 特殊的非数字值 NaN 也被视为假值。
NaN
let nanValue = NaN;
''(空字符串): 空字符串被视为假值。
''
let emptyString = '';
null: null 被视为假值。
null
let nullValue = null;
undefined: undefined 被视为假值。
undefined
javascriptCopy code let undefinedValue = undefined;
这些值在条件语句(如 if 语句)中会被自动转换为 false。其他所有的值都被视为“真值”(truthy values)。
if
if (isFalse || zeroValue || nanValue || emptyString || nullValue || undefinedValue) { console.log('This will not be executed.'); } else { console.log('All values are falsy.'); }
需要注意的是,除了这六个假值之外的所有值,包括空数组 []、空对象 {}、以及自定义的对象等,都被视为“真值”。
[]
{}
原文链接:codingdict.net