前端 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 用于判断对象是否属于某个类的实例。

相关推荐
四眼肥鱼2 分钟前
【Nextjs】macos 系统运行报错:Error: Cannot find module '../lightningcss.darwin-x64.node'
前端·架构·前端框架
库克克2 分钟前
【C++】set 与multiset
开发语言·c++
hoLzwEge3 分钟前
Unplugin Turbo Console:让你的 `console.log` 脱胎换骨
前端·前端框架
触底反弹4 分钟前
🔥 从 MySQL 到 Milvus:用 AI 日记本项目搞懂向量数据库和 RAG
javascript·人工智能·面试
妙码生花7 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(三十九):前端上传组件实现
javascript·vue.js·ai编程
dota李天王10 分钟前
简单的 socket 实现
前端·javascript·websocket
盏灯12 分钟前
nvm 无法拉取最新办法解决办法
前端
Wang's Blog15 分钟前
Go-Zero项目开发34: 微服务超时控制与重试机制实践
开发语言·微服务·golang·go-zero
WeilinerL30 分钟前
CodeGraph:让AI理解代码仓库的神器
前端·人工智能