JavaScript基础---typeof和instanceof的区别

typeof和instanceof都用于类型检查

区别:typeof返回的是字符串,而instanceof返回的是布尔值

javascript 复制代码
console.log(typeof 42); // "number"
console.log(typeof "Hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof Symbol("symbol")); // "symbol"
console.log(typeof {}); // "object"
console.log(typeof function() {}); // "function"
javascript 复制代码
function Person(name) {
  this.name = name;
}
 
const person = new Person("Alice");
console.log(person instanceof Person); // true
 
const obj = {};
console.log(obj instanceof Object); // true
 
const arr = [];
console.log(arr instanceof Array); // true

typeof操作符用于确定变量或表达式的数据类型。它返回一个字符串,表示传入值的数据类型。常见的返回值包括:"number"、"string"、"boolean"、"undefined"、"symbol"、"object"和"function"。

注意:instanceof操作符只能检测对象的原型链,而不能检测基本数据类型

javascript 复制代码
let a = 1;
console.log(typeof a)    //number
console.log(a instanceof Number)   //false

以上,typeof适用于基本数据类型和函数类型,而instanceof适用于对象实例的检查

特殊注意:typeof null返回"object",这是JavaScript中的一个历史遗留问题

相关推荐
小码哥_常1 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮3 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
C^h4 小时前
c++ string
开发语言·c++
raindayinrain4 小时前
c++高性能--原子操作,无锁编程,操作顺序
开发语言·c++·性能优化
学逆向的5 小时前
C++ 合并命名空间
开发语言·c++·网络安全
Zhao-Jichao5 小时前
VS2026 打包 C++ 程序生成 EXE,借助 Installer Project 扩展工具
开发语言·c++
她说可以呀5 小时前
Vue插槽
前端·javascript·vue.js
qq_448011165 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan5 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
学逆向的5 小时前
C 局部静态变量
c语言·开发语言·网络安全