前端 JS 经典:typeof 和 instanceof 区别

1. typeof

typeof 用于判断一个变量的数据类型,返回一个表示数据类型的字符串。可以对如下类型进行判断:undefined、boolean、number、string、bigint、symbol、function 和 object。对 null 的判断是'object',这是个历史遗留问题。

javascript 复制代码
typeof null; // 'object'
typeof undefined; // 'undefined'
typeof true; // 'boolean'
typeof 110; // 'number'
typeof "yqcoder"; // 'string'
typeof function () {}; // 'function'
typeof {}; // 'object'
typeof []; // 'object'
typeof 9007199254740999n; // 'bigint'
typeof Symbol(); // 'symbol'

2. instanceof

instanceof 用于判断一个对象是否属于某个类或者其父类的实例。如果对象是指定类的实例,则返回 true;否则返回 false。

javascript 复制代码
const time = new Date();
const reg = /^yqcoder$/;

time instanceof Date; // true
reg instanceof RegExp; // true

综上:typeof 用于判断基本数据类型和函数类型,而 instanceof 用于判断对象是否属于某个类的实例。

相关推荐
yqcoder几秒前
拆解互联网:通俗易懂的网络分层模型
前端·网络·网络协议
小小编程路7 分钟前
C++ 常用逻辑运算符
开发语言·c++·算法
小鹿软件办公8 分钟前
Mozilla 解释 Firefox 在英特尔 Raptor Lake 系统上的崩溃问题
前端·firefox
代码熊崽的编程森林11 分钟前
vue + onlyoffice 自定义插件的实现(OnlyOffice 插件:AI 智能编辑)。
前端·javascript·vue.js
眷蓝天11 分钟前
Prometheus介绍及监控平台部署
java·开发语言
五月君_14 分钟前
Rust 重写 AI 味太浓,Bun 被 yt-dlp 封版本、Electrobun 直接解绑
开发语言·后端·rust
y = xⁿ29 分钟前
JUC:锁机制/关键字
java·开发语言
Lucky_Turtle30 分钟前
【Vue】element plus Slider小数组件设置顺滑程度
前端·javascript·vue.js
legendary_16332 分钟前
Type-C浪潮席卷小家电:SINK芯片如何成为快充高压的“心脏“
c语言·开发语言
Struggle_975537 分钟前
算法知识-堆相关知识
java·开发语言·算法