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

相关推荐
DaMu12 分钟前
Cesium & Three.js 【移动端手游“户外大逃杀”】 还在“画页面的”前端开发小伙伴们,是时候该“在往前走一走”了!我们必须摆脱“画页面的”标签!
前端·gis
非专业程序员12 分钟前
一文读懂Font文件
前端
Asort14 分钟前
JavaScript 从零开始(七):函数编程入门——从定义到可重用代码的完整指南
前端·javascript
Johnny_FEer15 分钟前
什么是 React 中的远程组件?
前端·react.js
真夜15 分钟前
关于rngh手势与Slider组件手势与事件冲突解决问题记录
android·javascript·app
我是日安18 分钟前
从零到一打造 Vue3 响应式系统 Day 10 - 为何 Effect 会被指数级触发?
前端·vue.js
知了一笑18 分钟前
「AI」网站模版,效果如何?
前端·后端·产品
艾小码21 分钟前
用了这么久React,你真的搞懂useEffect了吗?
前端·javascript·react.js
知觉22 分钟前
实现@imput支持用户输入最多三位整数,最多一位小数的数值
前端
RoyLin22 分钟前
TypeScript设计模式:状态模式
前端·后端·typescript