javascript的typeof可返回了什么数据类型
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章主要介绍了javascript的typeof可返回了什么数据类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在javascr
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
物理差女生可以学网络技术吗
软件开发html
svn服务器搭建 本地
京东云服务器密码机
广州健康通服务器内部错误
服务器端登录信息处理异常
软件开发公司多少人算比较大
怎么保存图片上传数据库
软件开发项目成本资料
Wlan网络安全保障方案
天津网络安全员培训
网络安全产品发展前景
西安有德网络技术有限公司
网络安全和信息化杂志下载
宁夏网络安全宣传周活动
江苏赛迪网络技术有限公司
民村网络技术有限公司
嘉祥软件开发有限公司
数据库中的code表
上海沁爵网络技术有限公司
移远通信软件开发
网络安全管理方面制度
c 和数据库
武汉华科网络技术有限公司
怎么加入服务器
哪个模型是用于构件的软件开发
助贷平台软件开发
代理服务器为啥安全
系统未配置文件服务器
租的服务器端口怎么开