instanceof 类型判断
最后更新:2026-09-09
instanceof 类型判断
instanceof 检查对象是否是某个构造函数的实例。用于区分数组和对象、自定义类的类型判断。
| 分类 | 运算符 |
|---|---|
| ES 版本 | ES1 |
📝 语法
对象 instanceof 构造函数;
返回值:布尔值。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
true
false
false
true
true
⚠️ 警告 instanceof 对原始类型(字符串/数字/布尔)无效——用 typeof 判断。
💡 提示 判断数组的标准方法是 Array.isArray() 而不是 instanceof——后者跨 iframe 失效。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| instanceof | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关运算符
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Qinstanceof 和 typeof 的区别?
Atypeof 返回类型字符串(对原始类型有效);instanceof 检查构造函数原型链(对对象有效)。
Qinstanceof 跨 iframe 可靠吗?
A不可靠——不同窗口的 Array 构造器不同。用 Array.isArray()。
Qinstanceof 能检测自定义类吗?
A能——这正是 instanceof 的主要用途:检测自定义类的实例。