如何检查 JavaScript 中的变量不是 NULL

2025 年 3 月 18 日 | 6 分钟阅读

JavaScript 是一种流行的编程语言,广泛用于 Web 开发。JavaScript 中最常见的任务之一是检查变量是否有。变量可以有null,这意味着它根本没有值。如果您尝试对 null 变量执行操作,它可能会导致代码出错。因此,在使用变量之前检查它是否不为 null 很重要。

在本文中,我们将探讨在 JavaScript 中检查变量是否不为 null 的不同方法。

1. 使用“!== null”运算符

在 JavaScript 中检查变量是否不为 null 的最简单方法是使用“!== null”运算符。此运算符检查变量的值是否不为 null。这是一个示例:

在此代码中,变量 myVar 被赋予值 nullif 子句确定 myVar 是否不等于 null。如果条件为 true(即 myVar 不为 null),控制台将显示“Variable is not null”。否则,如果条件为 false(即 myVar 为 null),它将向控制台打印“Variable is null”

输出将是

Variable is null

由于 MyVar 被赋予了 null 值,因此 else 块的代码被执行,因为条件 myVar!== null 求值为 false,在控制台记录“Variable is null”

2. 使用“typeof”运算符

检查变量是否不为 null 的另一种方法是使用 “typeof”运算符“typeof”运算符返回变量的类型。如果变量为 null,则 “typeof”运算符将返回 “object”。这是一个示例:

在此代码中,变量 myVar 被赋予 null 值。然后使用 typeof 运算符验证 myVar 的类型,在此情况下,对于 null 将产生“object”。

if 语句检查两个条件

typeof myVar === 'object':此测试确定 myVar 的类型是否为“object”。由于 typeof null 返回“object”,因此这是必需的。此要求保证 myVar 是一个对象,而不是其他类型。

myVar!== null:此测试确定 myVar 是否等于 null。typeof 运算符本身无法区分 null 和其他对象,因此需要进一步检查。

如果 MyVar 既是对象又不为 null 这两个条件都为 true,则会向控制台记录“Variable is not null”。否则,如果任一条件为 false,它将向控制台输出“Variable is null”

输出将是

Variable is null

说明

第一个条件 typeof myVar === 'object' 求值为 true,因为 myVar 的值为 null,但第二个条件 myVar!== null 求值为 false,因为 myVar 的值为 null。因此,else 块的代码被运行,并且“Variable is null”被打印到控制台。

3. 使用“null”关键字

您还可以使用 “null”关键字检查变量是否为 null。“null”关键字表示缺少任何对象值。这是一个示例:

在此代码中,变量 myVar 被赋予 null 值。if 子句确定 myVar 是否不等于 null

如果条件 myVar!== null 求值为 true,则 MyVar 不为 null。在这种情况下,将运行 if 块的函数。示例代码中的注释“// do something”表示您可以在 if 块中包含的代码,以在变量不为 null 时执行所需的操作。

另一方面,如果 myVar!== null 的测试返回 false,则 myVar 实际上为 null。在这种情况下,将运行 else 块的函数。在提供的代码中,变量被声明为 null,它将“Variable is null”记录到控制台。

输出将是

Variable is null

说明

条件 myVar!== null 求值为 false,因为值 null 已分配给 myVar。因此,else 块的代码被运行,并且“Variable is null”被打印到控制台。

4. 使用双感叹号 (!!)

双感叹号是检查 JavaScript 中变量是否不为 null 的另一种方法。双感叹号用于将值转换为布尔值。如果变量不为 null,双感叹号将返回“true”。这是一个示例:

在此代码中,变量 myVar 被赋予 null 值。使用 !! 运算符对变量进行双重否定。这种将值转换为其匹配的布尔表示的方法经常使用。

如果变量 myVartrue,则双重否定将产生 true。JavaScript 中 null 的双重否定将返回 false,因为 null 被认为是 false。

在双重否定之后,在检查 myVar布尔值之前,是 if 语句。如果变量 myVar 的值为 true 且既不为 null 也不为 false,则将执行 if 块内的代码。

相反,如果值为 false,myVar 为空或 false。在这种情况下,将运行 else 块的函数。在提供的代码中,变量被声明为 null,它将“Variable is null”记录到控制台。

输出将是

Variable is null

说明

MyVar 被赋予 null 值,因此使用双重否定 !!,并且 myVar 的值为 false。因此,else 块的代码被运行,并且“Variable is null”被打印到控制台。

5. 使用三元运算符

三元运算符是编写 “if”语句的简写方式。它是一个单行代码,可用于检查变量是否不为 null。这是一个示例:

在此代码中,变量 myVar 被赋予 null 值。使用三元运算符?: 检查条件 myVar!== null。如果条件 myVar!== null 求值为 true,则 MyVar 不为 null。在这种情况下,将使用 console.log('myVar is not null') 执行问号前面的表达式。

另一方面,如果 myVar!== null 的测试返回 false,则 myVar 实际上为 null。在这种情况下,将使用 console.log('myVar is null') 执行冒号后面的表达式。

输出将是

myVar is null

说明

条件 myVar!== null 求值为 false,因为值 null 已分配给 myVar。因此,执行冒号后面的表达式,并在控制台打印“myVar is null”

结论

在本文中,我们探讨了在 JavaScript 中检查变量是否不为 null 的不同方法。无论您选择使用 “!== null”运算符“typeof”运算符、 “null”关键字双感叹号三元运算符还是可选链,在使用变量之前始终检查变量是否不为 null 都很重要,以避免代码中的错误。

通过理解这些不同的技术,您将能够更好地编写更可靠、无错误的 JavaScript 代码。所以下次在 JavaScript 中使用变量时,请记住在使用它们之前始终检查它们是否不为 null。