JavaScript判断数组是否为空、 判断数据类型

本文介绍了如何在JavaScript中准确判断数组是否为空,以及如何利用`toString`方法来确定变量的数据类型。通过`Object.prototype.toString.call()`可以获取到对象的内部类型,如 `[object Array]`,并使用`slice(8,-1)`截取字符串得到纯净的类型名称。" 137596066,7408817,阳光下的秘恋:三行诗篇,"['文学创作', '诗歌', '情感表达', '三行诗', '文艺']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组

let arr = []
在进行if 判断数组时:
在new Array()一个空数组时,是一个Object对象,所以if(arr)时是true
在进行数组直接与true和false的布尔类型比较时,默认是将数组和布尔类型都转化为了Number类型进行比较,空数组转化为Number类型时为0。

可以通过arr == true来判断不为空,也可以通过arr.length !== 0来判断数组不为空。

在这里插入图片描述

在这里插入图片描述

判断类型:toString 最完美的方法

toString() 是 Object 的原型方法,调用该方法,默认返回当前对象的 [[Class]] 。这是一个内部属性,其格式为 [object Xxx] ,其中 Xxx 就是对象的类型。

对于 Object 对象,直接调用 toString() 就能返回 [object Object] 。而对于其他对象,则需要通过 call / apply 来调用才能返回正确的类型信息。

判断类型举例:
复制代码

Object.prototype.toString.call(’’) ; // [object String]
Object.prototype.toString.call(1) ; // [object Number]
Object.prototype.toString.call(true) ; // [object Boolean]
Object.prototype.toString.call(Symbol()); //[object Symbol]
Object.prototype.toString.call(undefined) ; // [object Undefined]
Object.prototype.toString.call(null) ; // [object Null]
Object.prototype.toString.call(new Function()) ; // [object Function]
Object.prototype.toString.call(new Date()) ; // [object Date]
Object.prototype.toString.call([]) ; // [object Array]
Object.prototype.toString.call(new RegExp()) ; // [object RegExp]
Object.prototype.toString.call(new Error()) ; // [object Error]
Object.prototype.toString.call(document) ; // [object HTMLDocument]
Object.prototype.toString.call(window) ; //[object global] window 是全局对象 global 的引用

如果想直接获取正确结果,可以:
Object.prototype.toString.call(xxx).slice(8,-1)
使用slice截取字符串
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

webhyx

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

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

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

打赏作者

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

抵扣说明:

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

余额充值