繁体   English   中英

检查数组是否为空时,我应该使用 array.length <= 0 还是 array.length === 0?

[英]When checking if an array is empty, should I use array.length <= 0 or array.length === 0?

我习惯于检查array.length <= 0空数组。 当然,数组的长度永远不应该小于 0。这是我养成的习惯,以确保我的程序运行“以防万一发生奇怪的事情” 有什么理由不使用<=运算符而是使用=== 0吗?

如果list是一个数组,那么不, length不可能是整数。 规范

每个 Array 对象都有一个不可配置的“长度”属性,其值始终是小于2 ** 32的非负整数

给定一个数组对象,您甚至不能通过将length更改为有效长度以外的其他值来故意使事情变得混乱; 会抛出一个错误:

 const arr = []; Object.defineProperty(arr, 'length', { value: -5 })

在我看来,没有理由检查长度list.length <= 0.负值。 正如 Arrays 的规范所说

每个 Array 对象都有一个 length 属性,其值始终是一个小于 2 32的非负整数。

所以完全有资格检查list.length === 0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM