JavaScript instanceof 运算符全解析
核心语义:
判断一个对象(object)是否属于某个构造函数(constructor)或类的实例,基于原型链(prototype chain)实现类型检测。
一、JavaScript 中的基础用法
1. 语法结构
object instanceof constructor
- 返回值:布尔值(
true
/false
) - 操作数要求:
object
:待检测的对象(若为原始类型如number
,直接返回false
)constructor
:构造函数或类(如Array
、自定义类)
2. 典型场景示例
// 基础类型检测
console.log('str' instanceof String); // false(原始类型非对象包装)
console.log(new String('str') instanceof String); // true // 内置对象检测
const arr = [1, 2];
console.log(arr instanceof Array); // true
console.log(arr instanceof Object); // true(Array继承自Object) // 自定义类检测
class Animal {}
class Dog extends Animal {}
const dog = new Dog(