JavaScript修改Number对象(包装器)到位 - 向下转换

时间:2013-07-10 14:53:36

标签: javascript object numbers

问题在于内置Number object(原始包装器)。

var n = new Number(2);
console.log(n); // Number {}
console.log(typeof n); // "object"

n++;
console.log(n); // 3
console.log(typeof n); // "number"

我可以看到JS在这里进行了一个隐式的类型转换。确切地说,将Number对象向下转换为number原语。有没有办法在没有这种向下转换的情况下修改Number对象?

1 个答案:

答案 0 :(得分:1)

不,Number个实例是不可变的。你必须这样做:

n = new Number(++n);

获取比先前实例更大的新实例。