Skip to content

数据类型转换

Number() 转换

Number() 转换 可以分两种

  1. 基本类型转数字
  2. 对象类型转数字

基本类型转数字

js
Number('123') // 123
Number('') // 0
Number('123zz') // NaN
parseInt('123zz') // 123

Number(null) // 0
Number(undefined) // NaN
parseInt(undefined) // NaN
parseInt(null) // NaN

对象类型转数字

  1. 先调用对象的 valueOf 方法,如果返回的是原始值,则直接返回
  2. 如果 valueOf 返回的不是原始值,则调用 toString 方法,如果返回的是原始值,则直接返回
  3. 如果 toString 返回的不是原始值,则报错
js
Number({}) // NaN
Number({ valueOf: () => 1 }) // 1
Number({ toString: () => 2 }) // 2