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

typeof

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

instanceof

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

Object.prototype.toString.call()

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

相关推荐
Js_cold1 分钟前
(* MARK_DEBUG=“true“ *)
开发语言·fpga开发·debug·verilog·vivado
网络点点滴19 分钟前
watch监视-ref基本类型数据
前端·javascript·vue.js
ALex_zry20 分钟前
深入解析gRPC C++动态反射:实现Proto消息的智能字段映射
开发语言·c++
大布布将军29 分钟前
《前端九阴真经》
前端·javascript·经验分享·程序人生·前端框架·1024程序员节
幸运小圣31 分钟前
for...of vs for 循环全面对比【前端JS】
开发语言·前端·javascript
liu****33 分钟前
12.线程同步和生产消费模型
linux·服务器·开发语言·c++·1024程序员节
学习编程的Kitty1 小时前
JavaEE初阶——多线程(5)单例模式和阻塞队列
java·开发语言·单例模式
懒羊羊不懒@1 小时前
JavaSe—Stream流☆
java·开发语言·数据结构
Js_cold1 小时前
(* clock_buffer_type=“NONE“ *)
开发语言·fpga开发·verilog·vivado·buffer·clock
_志哥_1 小时前
深度解析:解决 backdrop-filter 与 border-radius 的圆角漏光问题
前端·javascript·html