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

相关推荐
yyt3630458411 分钟前
KlineChartQuant Tooltip 高频交互 200FPS 性能优化完整复盘
前端·经验分享·性能优化·typescript·vue·交互·chrome devtools
李永奉4 分钟前
杰理可视化SDK开发-【BUG】配置“TWS两边同时按消息使能”功能后,按键单击功能无效失灵
开发语言·单片机·嵌入式硬件·物联网·bug
m0_6174939417 分钟前
Python OpenCV 透视变换(Perspective Transform)详解与实战
开发语言·python·opencv
程序猿编码29 分钟前
用C++从零开始造一个微型GPT,不借助任何第三方库
开发语言·c++·gpt·模型推理
2601_9637713731 分钟前
WordPress SEO Guide: Boost Rankings Without Technical Jargon
前端·php
李顿波32 分钟前
Chrome 扩展程序 MV3 架构组件概览
前端·chrome·浏览器插件
普通网友1 小时前
pytest一些常见的插件
开发语言·python·pytest
KingCodeHan1 小时前
ESLint 完全指南:从入门到精通
前端
苦瓜花1 小时前
【Kotlin】初入门
android·开发语言·kotlin
GHL2842710901 小时前
安装chrome浏览器
前端·chrome