JS数据类型检测的方式有哪些 (常用)

typeof

  • 其中数组、对象、null都会被判断为object,其他判断都正确
  • typeof返回的类型都是字符串形式

instanceof

  • instanceof :用于检测一个实例是否属于某个类,通过验证当前类的原型 prototype 是否出现在实例的原型链 __proto__ 上。它不能检测基本数据类型,且对于数组、正则等对象,检测结果都是 true ,无法准确判断是否为普通对象。另外,如果手动修改了原型链,检测结果可能不准确。例如:

Object.prototype.toString.call()

Object.prototype.toString.call() :这是一种比较准确的检测数据类型的方法。它通过获取 Object.prototype 上的 toString 方法,并使用 call 方法改变其 this 指向要检测的数据,从而返回数据类型的字符串。例如:

相关推荐
Dxy12393102161 小时前
MySQL索引完整教程:创建、查看、修改、删除与日常管理
前端·javascript·mysql
wbs_scy1 小时前
Linux C++ 高并发编程:线程池全链路深度解析,从原理到手撕实现
java·开发语言
JAVA面经实录9171 小时前
Linux 常用命令完整知识体系
java·linux·开发语言·汇编
贪玩的蛋挞2 小时前
C#与闭包
开发语言·c#
端庄的战斗机2 小时前
javascript 设计模式(文章很长,请自备瓜子,水果和眼药水)
开发语言·javascript·设计模式
Full Stack Developme3 小时前
Java LRU 与 LFU 算法及应用
java·开发语言·算法
C语言小火车4 小时前
C++ 堆排序深度精讲:基于完全二叉树的选择排序进化,最坏情况 O(n log n) 的稳定王者
开发语言·c++·算法·排序算法·堆排序
北冥you鱼4 小时前
abigen 最佳实践:从入门到精通,高效生成 Go 语言合约绑定
开发语言·golang·区块链
前端毕业班5 小时前
uni-app 小程序支持 teleport 了
前端·javascript·vue.js
ALex_zry5 小时前
C++26 std::complex 结构化绑定详解:auto [re, im] = c
c语言·开发语言·c++