ES9:使用 typeof null 将返回 'null'

阅读时长 3 分钟读完

简介

在 ES9(ECMAScript 2018)中,针对 typeof null 进行了修改,它将返回 'null' 而不再是 'object' 了。这是一个非常简单但是很有用的变化,开发人员可以更容易地使用它来区分一个变量是否为 null。

typeof 运算符

在 JavaScript 中,typeof 运算符用于确定给定变量的类型。 typeof 运算符返回一个字符串,表示给定变量的数据类型。例如:

为什么 typeof null 返回 'object'?

typeof null 返回 'object' 在 JavaScript 中被认为是一个历史性错误。这是在早期版本中由 C++ 代码库中的问题引起的。在 C++ 中,null 被视为指向特殊对象的指针,因此在最初的实现中 typeof null 就被设置为 'object'。随着时间的推移,typeof null 就成为了 JavaScript 中的标准。

ES9 中的 typeof null 修改

在 ES9 中,typeof null 被修改为返回 'null'。这是一项非常简单但是实用的修改。使用它可以更方便地判断一个变量是否为 null:

使用 typeof null 的指导意义

有了这个修改,我们可以使用 typeof null 来更好地检测 null 变量。我们不必像以前那样判断它是否是 object 或者 null,直接使用这个新的 typeof 运算符就好了。具体来说,我们可以在开发过程中更好地理清代码中的不同数据类型。

示例代码

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

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

结论

在 ES9 中,typeof null 将返回 'null',而不是以前的 'object'。这是一个非常简单但又非常有用的修改,能够让我们更清晰地区分出 null 数据类型,提高代码的可读性,减少因为历史遗留问题所带来的混乱。

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

纠错
反馈