在ES6中,如何检查对象的类?

在ES6之前,JavaScript中检查一个对象的类通常通过比较其原型链上的构造函数来完成。但是,在ES6中,我们可以使用instanceoftypeof操作符来更方便地执行此操作。

instanceof 操作符

instanceof操作符用于检查一个对象是否是特定构造函数的实例。它返回一个布尔值,表明该对象是否属于该类。这个操作符不光可以用于内置类型,还可以用于自定义类型。

下面是一个例子:

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

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

上面的例子中,我们创建了一个名为Person的类,并创建了一个名为person的对象。然后,我们使用instanceof操作符检查person对象是否是Person类的实例,输出结果为true

typeof 操作符

typeof操作符用于检查一个变量的类型。与instanceof不同,它返回一个字符串,表示该变量的类型。但是,需要注意的是,typeof操作符不能用于检查自定义类型。

下面是一个例子:

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

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

上面的例子中,我们分别使用typeof操作符检查了字符串和数字的类型。输出结果分别为stringnumber

推荐使用 instanceof 操作符

尽管typeof操作符可以用来检查内置类型,但它不能用于自定义类型。因此,在ES6中,建议使用instanceof操作符来检查一个对象的类。

总结

在ES6中,我们可以使用instanceoftypeof操作符来检查一个对象的类。推荐使用instanceof操作符,因为它不仅可以用于内置类型,还可以用于自定义类型。下面是一个完整的例子:

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

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

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

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