JS中把其它类型转成数字的方法及规则是什么?

8 min read

在JavaScript中将其它类型转换为数字使用的是Number()方法。以下是一些规则:

  1. 数字值:返回数字值本身。

  2. 字符串:如果字符串表示一个有效的数字(如“123”),则返回该数字值。如果不是有效的数字(如“abc”),则返回NaN。

  3. 布尔值:true为1,false为0。

  4. null:返回0。

  5. undefined:返回NaN。

  6. 对象:JavaScript会首先尝试调用对象的valueOf()方法。如果返回的值不是一个原始类型(如数字、字符串等),则调用toString()方法。如果这两个方法都没有返回原始类型的值,则返回NaN。

例如:

Number(42) // 42
Number("123") // 123
Number("abc") // NaN
Number(true) // 1
Number(false) // 0
Number(null) // 0
Number(undefined) // NaN
Number({}) // NaN