Javascript 获取数字进行比较的特殊方法

Javascript 获取数字进行比较的特殊方法,javascript,node.js,Javascript,Node.js,今天我在查看代码库,发现了一些奇怪的东西。在一个文件中,它被非常、非常频繁地使用,并且非常重要。关键的是,它是大型项目的子模块,所以几乎所有的微服务都使用它。我发现: if(/*removed for brevity*/&& this._someArray.length > [''].length) { //... code continues } 这里的意图是显而易见的。我理解从代码中删除魔法数字1的好处,但是这种获得数字1的方法会带来一些时间损失 现在,这里有没有其他

今天我在查看代码库,发现了一些奇怪的东西。在一个文件中,它被非常、非常频繁地使用,并且非常重要。关键的是,它是大型项目的子模块,所以几乎所有的微服务都使用它。我发现:

if(/*removed for brevity*/&& this._someArray.length > [''].length) {
//... code continues
}
这里的意图是显而易见的。我理解从代码中删除魔法数字1的好处,但是这种获得数字1的方法会带来一些时间损失


现在,这里有没有其他我不熟悉的东西,或者这只是一种糟糕的风格/做法?

这确实很奇怪。。。考虑到这一点,我会像你一样思考,用一个值为1的变量替换它,或者更好,不用任何东西。你查过档案上的历史记录了吗?可能是因为半个重构的缘故吧?我认为最好定义一个常量
[''。长度
总是计算为
1
,硬编码为
1
应该可以,我猜?这也是我的猜测。但由于我总是学习一些新的东西,我当然希望这是一个大师的举动。我想知道为什么。很可能是wtf。