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

相关推荐
巴拉巴拉~~2 分钟前
KMP 算法通用步进器组件:KmpStepperWidget 横向 / 纵向 + 匹配进度 + 全样式自定义
java·服务器·开发语言
sinat_384241093 分钟前
OpenSpeedy 是一款开源免费的游戏变速工具
javascript
weixin_307779133 分钟前
赋能插件,驱动图表:Jenkins ECharts API插件详解
运维·开发语言·自动化·jenkins·echarts
IMPYLH5 分钟前
Lua 的 Math(数学) 模块
开发语言·笔记·lua
我血条子呢8 分钟前
【CSS】类似渐变色弯曲border
前端·css
DanyHope8 分钟前
LeetCode 两数之和:从 O (n²) 到 O (n),空间换时间的经典实践
前端·javascript·算法·leetcode·职场和发展
hgz07109 分钟前
企业级多项目部署与Tomcat运维实战
前端·firefox
用户18878710698410 分钟前
基于vant3的搜索选择组件
前端
zhoumeina9910 分钟前
懒加载图片
前端·javascript·vue.js
用户18878710698411 分钟前
SVG描边 - CSS3实现动画绘制矢量图
前端