1-1 new Number()
当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象
1-2 Number()
当 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN ),相当于执行了 new Number().valueOf()
let a = Number(1) //相当于new Number(1).valueOf()
console.log(a) // 1
let b = new Number(1)
console.log(b) // Number类型的对象{1}
1-3 valueOf()
- valueOf() 是 Object 的原型方法,定义在 Object.prototype 对象上,所有 Object 的实例对象都会继承 valueOf() 方法
- valueOf() 方法能够返回 Number 对象原始的值。
- JavaScript 自动类型转换时会默认调用 valueOf() 原型方法。Object 对象默认使用 valueOf() 方法返回值与 toString() 方法返回值相同,但是部分类型对象重写了 valueOf() 方法