JavaScript:如何检查变量是否未定义

在编写 JavaScript 代码时,我们经常需要检查变量是否已被定义。这是因为如果我们尝试访问未定义的变量,就会导致程序崩溃或出现错误。幸运的是,JavaScript 提供了几种方法来检查变量是否已定义。

typeof 操作符

typeof 操作符可以用来检查变量是否已定义。如果变量已定义,则 typeof 返回变量的类型,否则返回 "undefined"。

--- --

-- ------- - --- ------------ -
  -------------- -- ------------
- ---- -
  -------------- -- ----------
-

输出结果为:"x is undefined",因为变量 x 在此之前并未被赋值,因此它的值为 undefined。

in 操作符

in 操作符可以用来检查一个对象是否包含某个属性。如果变量已定义且在对象中存在对应的属性,则返回 true,否则返回 false。

--- --- - - ----- ------ --

-- ------- -- ---- -
  ---------------- --- - -------- ------ -------
- ---- -
  ---------------- ---- --- ---- - -------- ------ -------
-

输出结果为:"obj has a property called name",因为变量 obj 已定义,并且包含一个名为 "name" 的属性。

双重取反操作符

双重取反操作符(!!)也可以用来检查变量是否已定义。如果变量已定义,则双重取反操作符将其转换为 true 值,否则将其转换为 false 值。

--- --

-- ----- -
  -------------- -- ----------
- ---- -
  -------------- -- ------------
-

输出结果与 typeof 操作符示例相同:"x is undefined"。

总结

在 JavaScript 中,检查变量是否已定义是非常重要的。使用 typeof 操作符、in 操作符和双重取反操作符都可以达到这个目的。选择哪种方法取决于你的个人偏好和代码上下文。但需要注意的是,在访问变量之前始终检查它是否已定义,以避免不必要的错误和程序崩溃。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/11068