前端判断数据类型的方法有哪些?

1、typeof

(1)返回:一个值的数据类型的字符串

(2)可以判断:一个值的数据类型是 string、number、boolean、object、function 等

(3)无法判断:对于复杂数据类型就不起作用(Array),因为对于复杂数据类型的判断结果也是 object,跟 null 的判断返回结果相同

javascript 复制代码
var o = new Array();
console.log(typeof 1);//number
console.log(typeof 'sxx');//string
console.log(typeof true);//boolean
console.log(typeof undefined);//undefined
console.log(typeof null);//object
console.log(typeof o);//object

2、instanceof

(1)返回:检测一个对象是否 属于某个特定的对象类型

(2)通过使用 instanceof 操作符,你可以判断一个对象是否属于 Array、Date、RegExp 等特定类型,判断简单数据类型,但是简单数据类型不能以字面量的形式创建,否则返回值为false;如果通过new关键字去创建简单数据类型,则返回值为true;null和undefined这两个比较特殊

javascript 复制代码
console.log([] instanceof Array);//true
console.log({} instanceof Object);//true
console.log(function(){} instanceof Function);//true
console.log(1 instanceof Number);//false
console.log('xiaoming' instanceof String);//false
console.log(true instanceof Boolean);//false
console.log('--------------------------------');
console.log(new Number(1) instanceof Number);//true

3、Object.prototype.toString.call

返回一个表示对象的字符串

通过使用 Object.prototype.toString.call() 方法,你可以判断一个值的详细数据类型,如 "object Object"、"object Array"、"object Date" 等

javascript 复制代码
var a = Object.prototype.toString;
console.log(a.call("xiaoming"));//String
console.log(a.call(1));//Number
console.log(a.call(true));//Boolean
console.log(a.call(null));//Null
console.log(a.call(undefined));//Undefined
console.log(a.call([]));//Array
console.log(a.call(function () { }));//Function
console.log(a.call({}));//Object
相关推荐
凌涘5 分钟前
依托 BEM 规范深度剖析 WeUI 微信按钮组件开发与实现
前端·微信
不好听6136 分钟前
Node.js 工程化开发流程 — 知识点总结
javascript·node.js
小KK_8 分钟前
CSS浮动布局指南:从文档流到BFC
前端·css·html
ZengLiangYi29 分钟前
sql.js WASM 深度解析
javascript·数据库·后端
Hommy8836 分钟前
【剪映小助手】音频处理接口
前端·音视频·剪映小助手·视频剪辑自动化
KaMeidebaby41 分钟前
卡梅德生物技术快报|蛋白翻译后修饰:YAP/TAZ 分子调控机制与靶向干预技术
前端·人工智能·物联网·百度·新浪微博
JustHappy1 小时前
古法编程秘籍(三):为什么需要函数?因为程序员讨厌重复劳动
前端·javascript·后端
weixin_397574091 小时前
AgentRAG与ReAct推理链:从检索增强到推理增强
前端·react.js·前端框架
想要狠赚笔的小燕1 小时前
vue项目的入口文件是什么 main.js还是index.html,他俩有啥区别
前端·javascript
Jiude1 小时前
AI面对真机调试也束手无策?我将方法论形成了一套SKILL 🛠️🤖
前端·后端·测试