如何在 JavaScript 中检查一个值是否为真

在 JavaScript 中检查一个值是否为 Truthy

How to Check if a Value is Truthy in JavaScript

要检查值是否真实,请将值传递给if语句,例如
if (myValue). 如果该值是真实的,它会被强制转换trueif
块运行。

索引.js
const myVar = 'test'; if (myVar) { console.log('✅ myVar is truthy'); } else { console.log('⛔️ myVar is falsy'); }

if语句检查存储在变量中的值是否为
Truthy 是所有不虚假的值。

JavaScript 中的假值是:false, 0, 空字符串, null,
undefined, NaN

if仅当变量存储上述虚假值以外的任何值时,该块才会运行。

在块运行之前,语句中的真实值if会被强制转换为真实值。以下是条件中使用的真值的一些示例trueifif

索引.js
if ([]) { console.log('✅ This runs'); } if ({}) { console.log('✅ This runs'); } if (true) { console.log('✅ This runs'); } if ('test') { console.log('✅ This runs'); }

请注意,空数组和空对象被认为是真实的,而空字符串被认为是虚假的。

索引.js
if ('') { console.log("⛔️ this doesn't run"); }

如果您需要检查数组或对象是否包含元素或键值对,请改为执行以下操作:

索引.js
if (['a'].length > 0) { // 👉️ array is not empty } if (Object.keys({a: 'b'}).length > 0) { // 👉️ object is not empty }

我们检查数组是否包含至少 1 个元素以及对象是否包含至少 1 个键值对。

您也可以隐式地进行检查,例如:

索引.js
if (['a'].length) { // 👉️ if this runs, the array is not empty }

我们隐式检查数组的长度。如果数组为空,其
length属性将返回0,这是一个虚假值,我们的if块将不会运行。

如果数组至少包含 1 个元素,则该length属性将返回一个正整数,即真值。该值被强制为true并且if块运行。

进一步阅读

发表评论