javascript的typeof可返回了什么数据类型
发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章主要介绍了javascript的typeof可返回了什么数据类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在javascr
千家信息网最后更新 2025年11月12日javascript的typeof可返回了什么数据类型
这篇文章主要介绍了javascript的typeof可返回了什么数据类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
在javascript中,typeof操作符可返回的数据类型有:"undefined"、"object"、"boolean"、"number"、"string"、"symbol"、"function"等。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
使用 typeof 操作符可以返回变量的数据类型。
我们来看看各个数据类型对应typeof的值:
| 数据类型 | 结果 |
|---|---|
| Undefined | "undefined" |
| Null | "object" |
| 布尔值 | "boolean" |
| 数值 | "number" |
| 字符串 | "string" |
| Symbol (ECMAScript 6 新增) | "symbol" |
| 宿主对象(JS环境提供的,比如浏览器) | Implementation-dependent |
| 函数对象 | "function" |
| 任何其他对象 | "object" |
再看看具体的实例:
// Numberstypeof 37 === 'number';typeof 3.14 === 'number';typeof Math.LN2 === 'number';typeof Infinity === 'number';typeof NaN === 'number'; // 尽管NaN是"Not-A-Number"的缩写,意思是"不是一个数字"typeof Number(1) === 'number'; // 不要这样使用!// Stringstypeof "" === 'string';typeof "bla" === 'string';typeof (typeof 1) === 'string'; // typeof返回的肯定是一个字符串typeof String("abc") === 'string'; // 不要这样使用!// Booleanstypeof true === 'boolean';typeof false === 'boolean';typeof Boolean(true) === 'boolean'; // 不要这样使用!// Symbolstypeof Symbol() === 'symbol';typeof Symbol('foo') === 'symbol';typeof Symbol.iterator === 'symbol';// Undefinedtypeof undefined === 'undefined';typeof blabla === 'undefined'; // 一个未定义的变量,或者一个定义了却未赋初值的变量// Objectstypeof {a:1} === 'object';// 使用Array.isArray或者Object.prototype.toString.call方法可以从基本的对象中区分出数组类型typeof [1, 2, 4] === 'object';typeof new Date() === 'object';// 下面的容易令人迷惑,不要这样使用!typeof new Boolean(true) === 'object';typeof new Number(1) ==== 'object';typeof new String("abc") === 'object';// 函数typeof function(){} === 'function';typeof Math.sin === 'function';我们会发现一个问题,就是typeof来判断数据类型其实并不准确。比如数组、正则、日期、对象的typeof返回值都是object,这就会造成一些误差。
所以在typeof判断类型的基础上,我们还需要利用Object.prototype.toString方法来进一步判断数据类型。
我们来看看在相同数据类型的情况下,toString方法和typeof方法返回值的区别:
| 数据 | toString | typeof |
|---|---|---|
| "foo" | String | string |
| new String("foo") | String | object |
| new Number(1.2) | Number | object |
| true | Boolean | boolean |
| new Boolean(true) | Boolean | object |
| new Date() | Date | object |
| new Error() | Error | object |
| new Array(1, 2, 3) | Array | object |
| /abc/g | RegExp | object |
| new RegExp("meow") | RegExp | object |
可以看到利用toString方法可以正确区分出Array、Error、RegExp、Date等类型。
所以我们一般通过该方法来进行数据类型的验证。
感谢你能够认真阅读完这篇文章,希望小编分享的"javascript的typeof可返回了什么数据类型"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
类型
数据
方法
对象
篇文章
变量
函数
字符
字符串
操作符
数组
环境
相同
中区
价值
兴趣
初值
同时
基础
实例
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
杭州壹牛网络技术有限公司
网络技术公司是做什么
软件开发项目经理经验总结
手机怎么取消安全检测服务器
手机连接电脑网络安全密匙不匹配
网络安全审查办法自几日起实施
软件开发及软件评估
最新数据库
个人计算机三级网络技术
职高计算机网络技术就业方向
网络安全证书百度
网络安全的大案
网络安全案例30字
深圳办公系统软件开发公司
服务器 中 病毒
组织网络安全演练
玉溪软件开发项目管理培训
linux服务器怎么连接网页
装了ftp服务器打不开
本地服务器硬件部署方案
网络安全技术初学
软件开发都需要什么软件
西安培训软件开发的有哪些
服务器ad域管理
和平精英苹果区怎么连不上服务器
软件开发可以提供给其他公司吗
如何用树莓派搭建mc服务器
软件开发前端和后端哪个麻烦
网络安全等级风险评估
数据库中的四种触发器