在ES6之前,JavaScript中检查一个对象的类通常通过比较其原型链上的构造函数来完成。但是,在ES6中,我们可以使用instanceof
和typeof
操作符来更方便地执行此操作。
instanceof 操作符
instanceof
操作符用于检查一个对象是否是特定构造函数的实例。它返回一个布尔值,表明该对象是否属于该类。这个操作符不光可以用于内置类型,还可以用于自定义类型。
下面是一个例子:
----- ------ - ----------------- - --------- - ----- - - ----- ------ - --- ---------------- ------------------ ---------- -------- -- -- ----
上面的例子中,我们创建了一个名为Person
的类,并创建了一个名为person
的对象。然后,我们使用instanceof
操作符检查person
对象是否是Person
类的实例,输出结果为true
。
typeof 操作符
typeof
操作符用于检查一个变量的类型。与instanceof
不同,它返回一个字符串,表示该变量的类型。但是,需要注意的是,typeof
操作符不能用于检查自定义类型。
下面是一个例子:
----- ---- - -------- ------------------ ------ -- -- ------ ----- --- - --- ------------------ ----- -- -- ------
上面的例子中,我们分别使用typeof
操作符检查了字符串和数字的类型。输出结果分别为string
和number
。
推荐使用 instanceof 操作符
尽管typeof
操作符可以用来检查内置类型,但它不能用于自定义类型。因此,在ES6中,建议使用instanceof
操作符来检查一个对象的类。
总结
在ES6中,我们可以使用instanceof
和typeof
操作符来检查一个对象的类。推荐使用instanceof
操作符,因为它不仅可以用于内置类型,还可以用于自定义类型。下面是一个完整的例子:
----- ------ - ----------------- - --------- - ----- - - ----- ------ - --- ---------------- ------------------ ---------- -------- -- -- ---- ----- ---- - -------- ------------------ ------ -- -- ------
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/28185