javascript的typeof可返回了什么数据类型
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了javascript的typeof可返回了什么数据类型,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在javascr
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
中国互联网科技工作委员会毛军
科技互联网产品
互联网的科技
科技平台互联网
中国互联网科技股
科技与互联网发展
互联网的科技创新
百单互联网科技有限公司
深圳齐家互联网科技
甘肃拓世互联网科技有限公司
广州优美互联网科技
互联网科技有哪些公司
爱医互联网络科技
济南有互联网科技公司吗
山东有哪些互联网科技公司
南京一网一红互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
西安有哪些互联网高科技企业
互联网科技手抄报图片
互联网科技大佬云集
互联网与科技金融数据
狮子座互联网科技
互联网科技媒体
科技创新互联网企业
互联网科技网站
山东有哪些互联网科技公司
上海京穆互联网科技有限公司
新氧科技和美国互联网有关系吗
互联网科技大佬云集
上海旺乐尼互联网科技有限公司