ECMAScript 2021 中的 null 值与 undefined 值的区别

阅读时长 4 分钟读完

在 JavaScript 中,null 和 undefined 都表示没有值,但是它们是有区别的。在 ECMAScript 2021 中,这个区别得到了更加明确的定义。

null 值

在 JavaScript 中,null 表示一个被赋值了,但是值为 null 的变量。这个值表示“空值”,即该变量没有值。

要注意的是,判断一个变量是否为 null 时,使用 ===,而不是 ==

undefined 值

在 JavaScript 中,undefined 表示一个声明了但未初始化的变量,或者一个没有返回值的函数的返回值。它表示“未定义”。

判断一个变量是否为 undefined 时,也使用 ===,而不是 ==

现在,我们可以通过如下代码来检查一个给定变量的值是否为 null 或 undefined:

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

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

如何正确使用 null 和 undefined

在实际开发中,我们应该避免将变量赋值为 undefined。相反,应该使用 null 表示变量被赋值了,但是没有实际值。这有助于清晰地表达代码中的意图。

另外,我们在编写函数时,应该明确函数的返回值类型。如果函数不需要返回值,那么就明确返回值类型为 void,而不是让函数默认返回 undefined。这样可以提高代码的可读性和维护性。

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

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

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

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

总结

在 ECMAScript 2021 中,null 和 undefined 被明确定义了各自的语义。了解它们的区别,有助于我们写出更加清晰、可维护的代码。在编写代码时,应该尽可能地避免使用 undefined,而使用 null 表示变量被赋值了但是没有实际值。同时,在函数中明确返回值类型,也有助于提高代码的可读性和维护性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6658311bd3423812e4e123ac

纠错
反馈