ES9 中强制使用 Number.isFinite()

阅读时长 2 分钟读完

在 ES9 中,推荐使用 Number.isFinite() 来检查一个数值是否为有限数。相比之前的全局方法 isFinite() ,Number.isFinite() 更加严格和可靠。

为什么要使用 Number.isFinite()

在 JavaScript 中,有些数值是有限的,比如 5、0、-3.14 等等;有些数值是无限的,比如 Infinity、-Infinity;还有些数值是非数值,比如 NaN。

使用全局方法 isFinite() 来判断一个数值是否为有限数的时候,会先将参数转换为数值,然后再进行判断。这样会导致一些错误的结果,比如:

上述例子中,我们期望的结果应该是 false,但是由于 isFinite() 先将参数转换为数值,所以导致了错误的结果。

相比之下,Number.isFinite() 更加严格和可靠。它只会对数值类型的参数返回 true,对于其他类型的参数都会返回 false。

如何使用 Number.isFinite()

使用 Number.isFinite() 很简单,只需要将需要检查的数值作为参数传入即可。

-- -------------------- ---- -------
------------------- -- ----
----------------------- -- ----
-------------------------- -- -----
--------------------------- -- -----
--------------------- -- -----
----------------------- -- -----
-------------------- -- -----
---------------------- -- -----
-------------------- -- -----
-------------------- -- -----

总结

在 ES9 中,推荐使用 Number.isFinite() 来检查一个数值是否为有限数。相比之前的全局方法 isFinite() ,Number.isFinite() 更加严格和可靠。在实际开发中,我们应该尽量避免使用 isFinite(),而是使用 Number.isFinite() 来保证代码的正确性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66079c90d10417a222630f58

纠错
反馈