数据类型转换
Number() 转换
Number() 转换 可以分两种
- 基本类型转数字
- 对象类型转数字
基本类型转数字
js
Number('123') // 123
Number('') // 0
Number('123zz') // NaN
parseInt('123zz') // 123
Number(null) // 0
Number(undefined) // NaN
parseInt(undefined) // NaN
parseInt(null) // NaN对象类型转数字
- 先调用对象的 valueOf 方法,如果返回的是原始值,则直接返回
- 如果 valueOf 返回的不是原始值,则调用 toString 方法,如果返回的是原始值,则直接返回
- 如果 toString 返回的不是原始值,则报错
js
Number({}) // NaN
Number({ valueOf: () => 1 }) // 1
Number({ toString: () => 2 }) // 2