js判断数据类型

基本数据类型包括Number,String,Boolean,Undefined,null,以及es6新增的Symbol。引用数据类型一种Object。
其中Number中有NaN、Infinity,Object中包含Array、null。
String,Boolean,Undefined和Symbol可以直接使用typeof操作符去判断数据类型。(以下val是需要进行判断的值)
函数的typeof的值为function。
typeof返回的值都是字符串,并且都是小写。
对正则表达式字面量的类型判断在某些浏览器中不符合标准:某些浏览器里返回object,某些浏览器里返回function

Number中包含NaN、Infinity,如果想判断是否为这个两个特殊值需要进行以下方法:

  • 判断一个值是否为NaN,可以利用NaN这个特殊的Number与所有其他值都不相等,包括它自己
typeof val === 'number' && val !== val
  • 判断一个值是否为Infinity,以下三个条件都为true的值是Infinity
typeof val === 'number' && isFinite(val) === false && val === val

Object中包含Array和null

  • 判断是数组,以下两个条件都为true时这个值为数组
typeof val === 'object' && val.constructor === Array
  • 判断是null,null转为Boolean为假值,可以利用这个特性去判断一个值是否为null
 typeof val === 'object' && !Boolean(val)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容