当前位置: 首页 > article >正文

JavaScript基础---typeof和instanceof的区别

typeof和instanceof都用于类型检查


区别:typeof返回的是字符串,而instanceof返回的是布尔值

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"
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操作符只能检测对象的原型链,而不能检测基本数据类型

let a = 1;
console.log(typeof a)    //number
console.log(a instanceof Number)   //false

以上,typeof适用于基本数据类型和函数类型,而instanceof适用于对象实例的检查

特殊注意:typeof null返回"object",这是JavaScript中的一个历史遗留问题


http://www.kler.cn/news/340782.html

相关文章:

  • git 相关问题解决一一记录
  • 斯坦福 CS229 I 机器学习 I 构建大型语言模型 (LLMs)
  • 如何在两台服务器之间迁移 MySQL 数据库
  • MySQL 实验 6:定义数据的完整性
  • 【JVM】高级篇
  • 【AAOS】Android Automotive 9模拟器源码下载及编译
  • C++ 内部类
  • Python测试库介绍及示例
  • xss 跨站脚本攻击
  • React中useState、useReducer与useRef
  • linux中软连接和硬链接的区别
  • 基于SpringBoot+Vue的蛋糕甜品商城系统
  • 10.9 C高级-shell脚本4
  • MySql 之 Binglog 复制
  • OpenCV图像处理学习前简介
  • 【Linux 从基础到进阶】数据湖解决方案在 Linux 上的实现
  • 高性能架构——计算高性能
  • aws(学习笔记第二课) AWS SDK(node js)
  • ESP32-C3实现GPIO输出高低电平
  • C++学习笔记(50)