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

相关推荐
小虚竹几秒前
Rust日志系统完全指南:从log门面库到env_logger实战
开发语言·后端·rust
星释几秒前
Rust 练习册 8:链表实现与所有权管理
开发语言·链表·rust
今日说"法"3 分钟前
Rust 日志级别与结构化日志:从调试到生产的日志策略
开发语言·后端·rust
-大头.4 分钟前
Rust并发编程实战技巧
开发语言·后端·rust
不会算法的小灰7 分钟前
Vue.js 基础教程:从入门到实践
前端·javascript·vue.js
掘金一周11 分钟前
没开玩笑,全框架支持的 dialog 组件,支持响应式| 掘金一周 11.6
前端·人工智能
Yurko1318 分钟前
【C语言】选择结构和循环结构的进阶
c语言·开发语言·学习
拉不动的猪24 分钟前
浏览器&Websocket&热更新
前端·javascript·vue.js
小白学大数据27 分钟前
构建1688店铺商品数据集:Python爬虫数据采集与格式化实践
开发语言·爬虫·python
大邳草民42 分钟前
深入理解 Python 的“左闭右开”设计哲学
开发语言·笔记·python