在 JavaScript 中检查变量是否为 NULL
Check if a Variable is Not NULL in JavaScript
使用严格的不等式 (!==) 运算符来检查变量是否不为空,例如myVar !== null
. true
如果变量不等于,则严格不等运算符将返回null
,false
否则返回。
索引.js
const a = 'hello'; if (a !== null) { console.log('✅ a is NOT null'); } else { console.log('⛔️ a is null'); }
我们使用
严格的不等式 (!==)
运算符来检查存储在变量中的值a
是否不等于
null
。
运算符返回布尔结果:
true
如果值不相等false
如果值相等
索引.js
console.log(null !== null); // 👉️ false console.log('hello' !== null); // 👉️ true
严格的不等式 (!==) 运算符将不同类型的两个值视为不同,这与松散的不等式 (!=) 运算符相反。
这意味着如果您null
与任何其他类型进行比较,严格的不等式 (!==) 运算符将始终返回false
。
一个非常常见的错误是检查一个值是否为
truthy
,而不是检查它是否不为空。这是一个例子。索引.js
const a = 'hello'; if (a) { console.log(`🚨 a is NOT false, 0, empty string, null, undefined, NaN`); } else { console.log(`⛔️️ a is ONE OF false, 0, empty string, null, undefined, NaN`); }
在此示例中,我们检查存储在变量中的值a
是否为真。Truthy 是所有不虚假的值。
JavaScript 中的假值是:false
, 0
, ""
, null
, undefined
,
NaN
。
如果该
else
块运行,则值为a
falsy 并且可以是 6 个 falsy 值中的任何一个,不一定是null
.这样做时,事情可能会以多种不同的方式出错。例如,如果 的值a
等于0
,则该else
块将运行。
索引.js
const a = 0; if (a) { console.log("⛔️ This doesn't run"); } else { console.log('✅ This runs'); }
即使这是您想要的,您也不应该编写这样的代码,因为它令人困惑和间接。
相反,您应该更明确:
索引.js
const a = 0; if (a === 0) { console.log('✅ This runs'); } else { console.log("⛔️ This doesn't run"); }
始终建议在进行相等比较时显式使用严格运算符(!==、===)。它们使您的代码更具可读性、更明确并且更不容易出错。