如何使用 ES11 中的 Number.isNaN() 方法?

阅读时长 3 分钟读完

ES11 中新增了一个方法 Number.isNaN(),用于判断一个值是否为 NaN(Not a Number)。与全局方法 isNaN() 相比,Number.isNaN() 更加严格,只有在传入值为数字类型且值为 NaN 时才返回 true。在实际项目中,这个方法很有实用价值。下面我们来详细地介绍一下它的使用方法。

语法

Number.isNaN(value)

  • value:需要判断的值。如果是一个有效数字,且值为 NaN,则返回 true。如果不是,返回 false。

示例

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

Number.isNaN() 方法的返回值与调用 isNaN() 方法的结果不同,后者会返回 true,如果传入的是一个非数字类型的值,例如 undefined,或者是一个对象或字符串。同时,也存在一些特殊情况需要注意,例如:

上面的代码中,第一行为字符串 NaN,虽然它的值也是 NaN,但因为它是字符串,所以 Number.isNaN() 方法会返回 false。而第三行中我们使用了 parseInt() 方法将字符串 'hello world!' 转化为数字,但是这个字符串是无法被转化的,所以返回的值是 NaN,也即调用 Number.isNaN() 方法后,返回 true。

总结

在实际开发程序时,需要判断一个值是否为 NaN 的场景很多。在 ES11 中增加了更加严格的 Number.isNaN() 方法,可以帮助我们更加准确地判断一个值是否为 NaN,避免因为类型错误导致的程序异常行为。

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

纠错
反馈