instance of
时间: 2023-07-04 15:11:41 浏览: 43
`instanceof` 运算符是用来检测一个对象是否是一个类的实例。其语法是 `object instanceof constructor` ,其中 `object` 是要检测的对象,`constructor` 是要检测的类(构造函数)。如果 `object` 是 `constructor` 的实例,则返回 `true`,否则返回 `false`。
`instanceof` 运算符的工作原理是通过检查 `object` 的原型链(`__proto__` 属性)是否包含 `constructor.prototype`。如果包含,则返回 `true`,否则继续检查原型链,直到找到 `Object.prototype` 为止。如果一直没有找到,则返回 `false`。
以下是一个示例:
```javascript
class Person {}
const person = new Person();
console.log(person instanceof Person); // 输出 true
console.log(person instanceof Object); // 输出 true
console.log(person instanceof Array); // 输出 false
```
在这个示例中,我们定义了一个 `Person` 类,并创建了一个 `person` 对象。通过 `instanceof` 运算符,我们可以检测 `person` 是否是 `Person` 类的实例,结果为 `true`。同时,我们也可以检测 `person` 是否是 `Object` 类的实例,因为 `Person` 类是 `Object` 类的子类,结果同样为 `true`。但是,由于 `person` 不是 `Array` 类的实例,所以结果为 `false`。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)