ES10 中新增的 Object.prototype.toString 方法详解

阅读时长 4 分钟读完

ES10 中新增了一个 Object.prototype.toString 方法,它最大的特点是可以识别出 Symbol 类型的变量。在以前的版本中,使用 Object.prototype.toString 来判断一个变量的类型时,只能得到它的基本类型(如 Object、Array 和 String)。

基本语法

Object.prototype.toString 方法的基本语法如下所示:

其中,value 是要判断类型的变量,可以是任何类型的变量。

返回值

Object.prototype.toString 方法返回一个表示 value 变量类型的字符串,该字符串的格式为 [object type],其中 type 表示 value 变量的实际类型。

下面是一些常见的类型和对应的返回值:

类型 返回值
undefined [object Undefined]
null [object Null]
Boolean [object Boolean]
Number [object Number]
String [object String]
Symbol [object Symbol]
Object [object Object]
Array [object Array]
Function [object Function]
RegExp [object RegExp]
Date [object Date]
Error [object Error]
Map [object Map]
Set [object Set]

示例代码

下面是一些使用 Object.prototype.toString 方法判断变量类型的示例代码:

-- -------------------- ---- -------
-------------------------------------------------- -- ------- -----
------------------------------------------------------- -- ------- ----------
-------------------------------------------------- -- ------- --------
----------------------------------------------- -- ------- -------
----------------------------------------------------- -- ------- -------
----------------------------------------------------------- -- ------- -------
------------------------------------------------ -- ------- -------
------------------------------------------------ -- ------- ------
--------------------------------------------- -- ----- -- ------- ---------
----------------------------------------------------- -- ------- -------
---------------------------------------------- --------- -- ------- -----
---------------------------------------------- ---------- -- ------- ------
---------------------------------------------- -------- -- ------- ----
---------------------------------------------- -------- -- ------- ----
展开代码

指导意义

Object.prototype.toString 方法的新增,弥补了以前无法识别 Symbol 类型变量的缺陷,可以更加准确地判断变量类型。

不过需要注意的是,该方法只是用来判断变量类型的,不能用来判断变量的值是否为 null 或 undefined。例如,对于值为 null 或 undefined 的变量,它们都将返回 [object Undefined]

除了 Object.prototype.toString 方法,还有其他方法可以用来判断变量类型,例如 typeof 操作符和 instanceof 操作符等。在具体使用时要根据实际情况进行选择。

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

纠错
反馈

纠错反馈

程序员教程

精选优质教程,助你快速提升技术实力

程序员面试题库

海量优质面试题,助你轻松应对技术面试