JS判断数据类型方法

1.typeof 操作符:

typeof 是一元操作符,用于返回一个表示操作数类型的字符串。它返回的结果包括:"undefined"、"boolean"、"number"、"string"、"object"、"function" 和 "symbol"。

typeof variable;

2.nstanceof 操作符:

instanceof 操作符用于检查对象是否是某个构造函数的实例。

object instanceof constructor;

例如:

var arr = [];
console.log(arr instanceof Array); // true 

注意:instanceof 只能用于对象类型的判断,对于原始数据类型(如字符串、数字等)不适用。 

3.Object.prototype.toString.call() 方法:

使用 Object.prototype.toString 方法可以得到更详细的数据类型信息,这是因为这个方法对所有对象都有效。

Object.prototype.toString.call(variable);

例如:

var arr = [];
console.log(Object.prototype.toString.call(arr)); // [object Array] 

这种方法返回的结果包含 "[object 类型]" 的格式,可以通过正则表达式或字符串截取来获取具体的类型。 

4.Array.isArray() 方法:

用于检查一个对象是否是数组。

用于检查一个对象是否是数组。

例如:

var arr = [];
console.log(Array.isArray(arr)); // true 

 这是一个专门用于数组判断的方法。

5.null 和 undefined 如何判断

如果使用 typeof 判断 null 会返回 object 而 undefined 会返回 undefined

所以具体判断时,我们需要判断三个地方。

具体如下:

let aa = undefined
let bb= null
let cc = 0
 
console.log(typeof(aa),typeof(bb),typeof(cc))
//undefined object number
 
 
if(!aa){
    console.log('!aa')
}
if(!bb){
    console.log('!bb')
}
if(!cc){
    console.log('!cc')
}
//!aa
//!bb
//!cc
 
if(!aa && typeof(aa) === 'undefined'){
    console.log('aa is undefined')
}
if(!bb && typeof(bb) !== 'undefined'){
    console.log('bb is null')
}
if(!cc && typeof(cc) !== 'undefined'){
    console.log('cc is null')
}
//aa is undefined
//bb is null
//cc is null
 
if(!aa && typeof(aa) === 'undefined' && aa !== 0){
    console.log('aa is undefined')
}
if(!bb && typeof(bb) !== 'undefined' && bb !== 0){
    console.log('bb is null')
}
if(!cc && typeof(cc) !== 'undefined' && cc === 0){
    console.log('cc is 0')
}
//aa is undefined
//bb is null
//cc is 0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿online

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值