判断数据类型

常用的判断数据类型的方法

一、数据类型有什么?

数据类型分为两大类:

  1. 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
  2. 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

其中Symbol 是 ES6 引入的一种新的原始数据类型,表示独一无二的值。

二、如何判断数据类型

1.typeOf 数据名

代码如下:

	typeof a    //'undefined'
	typeof true  //'boolean'
	typeof '123'  //'string'
	typeof 123   //'number'
	typeof NaN   //'number'
	typeof null  //'object'    
    var obj = {}; typeof obj	//'object'
    var arr= ['1','2','3']; typeof arr//'object'

2.数据名 instanceof 类型

代码如下:

'a' instanceof String // false
new Object() instanceof Object // true
function getObject() {}
let a = new getObject()
a instanceof Object // true
[1, 2, 3] instanceof Array // true
new Date() instanceof Date // true
123 instanceof Number // false
true instanceof Boolean // false

3.toString.call(数据)

代码如下:

toString.call('a') // '[object String]'
toString.call(new Object()) // '[object Object]'
toString.call(function a(){}) // '[object Function]'
function asd() {}
toString.call(new asd()) // '[object Object]'
toString.call([1,2,3]) // '[object Array]'
toString.call(new Date()) // '[object Date]'
toString.call(123) // '[object Number]'

总结

以上三种方式的优缺点如下:

1、typeof

优点:能够检查 undefine,string,number,boolean类型
缺点:不能区分 null,object,array三者输出均为object

2、instanceof

优点:能够检查 object、array、function类型
缺点:不能区分 string、number、boolean三者输出均为false

1、toString.call

优点:能够区分所有类型
缺点:由于返回结果较长,当作为判断条件使用时书写比较麻烦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值