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

typeof

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

instanceof

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

Object.prototype.toString.call()

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

相关推荐
Fuyo_11193 分钟前
C++中的活字印刷术——模板·初阶
开发语言·c++·笔记
在角落发呆5 分钟前
跨越网络鸿沟:传统文件传输与现代内网穿透的奇妙交响
开发语言·php
Season4508 分钟前
C++之模板元编程(前置知识 constexpr)
开发语言·c++
坚定信念,勇往无前9 分钟前
electron-vite 安装better-sqlite3
javascript·数据库·electron
AI玫瑰助手10 分钟前
Python运算符:比较运算符(等于不等等于大于小于)与返回值
android·开发语言·python
@菜菜_达17 分钟前
jquery.inputmask插件介绍
前端·javascript·jquery
摸鱼小李上线了33 分钟前
vue项目页面添加水印实现方法
前端·javascript·vue.js
计算机安禾33 分钟前
【c++面向对象编程】第40篇:单例模式(Singleton)的多种C++实现
开发语言·c++·单例模式
砍材农夫38 分钟前
物联网 基于netty构建mqtt协议规范(主题通配符订阅)
java·前端·javascript·物联网·netty
_日拱一卒1 小时前
LeetCode:114二叉树展开为链表
java·开发语言·算法