首页 > web前端 > js教程 > 正文

如何可靠地检查 JavaScript 中的 Null 或未定义变量?

Susan Sarandon
发布: 2024-10-31 17:08:02
原创
920 人浏览过

How Can I Reliably Check for Null or Undefined Variables in JavaScript?

探索 JavaScript 中可靠的 Null 和未定义变量检测

在 JavaScript 中,确定变量是否已定义或是否具有值可以是重复出现的任务。许多开发人员采用以下模式:

<code class="javascript">if (typeof(some_variable) != 'undefined' && some_variable != null) {
    // Do something with some_variable
}</code>
登录后复制

虽然这种方法很可靠,但它可能很冗长。一些消息来源表明,简单地检查变量是否存在具有相同的效果:

<code class="javascript">if (some_variable) {
    // Do something with some_variable
}</code>
登录后复制

但是,某些开发环境(例如 Firebug)在使用第二种方法未定义 some_variable 时会报告错误。

检查 null 或未定义变量的更有效方法是使用以下语法:

<code class="javascript">if (some_variable == null) {
    // some_variable is either null or undefined
}</code>
登录后复制

此替代方案相当于详细版本,并且也受到 Firebug 等开发工具的支持。

注意事项:

  1. 在使用这种简写技术之前必须声明变量;否则会出现ReferenceError。但是,它可以安全地用于可选参数或对象属性检查。
  2. 此检查的不同但不等效的变体包括 0、NaN、false 或空字符串的变量:
<code class="javascript">if (!some_variable) {
    // some_variable is either null, undefined, 0, NaN, false, or an empty string
}</code>
登录后复制
  1. 使用严格相等检查 (===) 通常优于 ==。但是,推荐的 == null 比较是此规则的一个例外。

更新 2021-03:

现代浏览器支持 Nullish 合并运算符 (? ?) 和逻辑空赋值 (??=),提供了一种在变量为空或未定义时分配默认值的简洁方法:

<code class="javascript">if (a.speed == null) {
    // Set default if null or undefined
    a.speed = 42;
}</code>
登录后复制

这可以使用 Nullish 合并运算符重写:

<code class="javascript">a.speed ??= 42;</code>
登录后复制

以上是如何可靠地检查 JavaScript 中的 Null 或未定义变量?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板