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中的一个历史遗留问题

相关推荐
2501_940007892 分钟前
Flutter for OpenHarmony三国杀攻略App实战 - 战绩记录功能实现
开发语言·javascript·flutter
naruto_lnq3 分钟前
C++中的桥接模式
开发语言·c++·算法
无限进步_4 分钟前
面试题 02.02. 返回倒数第 k 个节点 - 题解与详细分析
c语言·开发语言·数据结构·git·链表·github·visual studio
摘星编程7 分钟前
React Native + OpenHarmony:自定义useEllipsis省略号处理
javascript·react native·react.js
布谷歌12 分钟前
面试题整理
java·开发语言
2401_8590490817 分钟前
git submodule update --init --recursive无法拉取解决
前端·chrome·git
j4455661121 分钟前
C++中的职责链模式高级应用
开发语言·c++·算法
Hello World . .23 分钟前
数据结构:栈和队列
c语言·开发语言·数据结构·vim
jjjava2.028 分钟前
深入解析Set与Map的奥秘
java·开发语言
白宇横流学长34 分钟前
基于Java的火车票订票系统的设计与开发
java·开发语言