为什么npm上有is-even包?

Sah*_*san 7 javascript npm

当我浏览 npm 包库时,我遇到了一个名为is-even.
该包仅用于检查数字是否为偶数。令人惊讶的是,该软件包每周的下载量超过 100,000 次。这个包使用了另一个名为 的包is-odd

但是,使用单行函数也可以实现同样的目的,那么为什么这么多人使用第三方包来实现这一点呢?

https://www.npmjs.com/package/is-even

对于那些说“该包支持错误处理并可使用字符串”的人,是的,你是对的。但是开发人员不能为 isEven 函数编写错误处理吗?

Ste*_*lin 0

可能 npm 包也依赖于它,并且人们正在下载该 npm 包。无论如何,这确实是一种资源浪费。我怀疑使用它的开发人员不知道 mod 运算符:%

isEven = value % 2 === 0
Run Code Online (Sandbox Code Playgroud)

  • 但实际情况比这更复杂。您的回答说明了为什么非常需要诸如“is-even”之类的包,而不是编写自己的有缺陷的实现。“is-even”模块检查数字或编码数字的字符串是否为偶数。最重要的是,如果字符串不是数字或其他任何东西传递给它,它会抛出“不是数字”错误。除此之外,如果数字不是整数,它还会引发错误。如果您需要“is-even”的完整行为,则需要执行“tmp = Number(value);” if (!isNan(tmp)) {isEven = tmp % 2 === 0} else {抛出新错误('不是数字')}` (5认同)
  • “34”不是一个数字,我正确地不希望它通过并标记错误。另一方面,34 就会过去。 (2认同)