js instanceof

导读 在JavaScript中,`instanceof` 是一个操作符,用于测试对象是否属于某个特定类的实例。它返回一个布尔值,如果对象是给定类的实例或其子类...

在JavaScript中,`instanceof` 是一个操作符,用于测试对象是否属于某个特定类的实例。它返回一个布尔值,如果对象是给定类的实例或其子类的实例,则返回 `true`;否则返回 `false`。

语法如下:

```javascript

object instanceof ClassName

```

这里 `object` 是你要检查的对象,而 `ClassName` 是你想要验证对象的类名或其父类的名字。请注意,这个操作是基于原型链的继承关系来判断的。

举个例子:

假设我们有一个名为 `Animal` 的类,和一个从 `Animal` 继承来的 `Dog` 类。我们有一个名为 `dog` 的 `Dog` 实例和一个名为 `cat` 的非继承自 `Animal` 的对象。我们可以使用 `instanceof` 来检查它们是否属于特定的类。

```javascript

class Animal {}

class Dog extends Animal {}

const dog = new Dog();

const cat = {}; // 不是 Animal 或其子类的实例

console.log(dog instanceof Animal); // 输出 true,因为 Dog 是 Animal 的子类,所以 dog 是 Animal 的实例。

console.log(dog instanceof Dog); // 输出 true,因为 dog 是 Dog 的实例。

console.log(cat instanceof Animal); // 输出 false,因为 cat 不是 Animal 或其子类的实例。

```

所以当你需要判断一个对象是否属于某个特定类型时,可以使用 `instanceof` 操作符来进行判断。

版权声明:本文由用户上传,如有侵权请联系删除!