1

質問は、組み込みのNumber オブジェクト(プリミティブ ラッパー) に関するものです。

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 オブジェクトを変更する方法はありますか?

4

1 に答える 1

1

いいえ、Numberインスタンスは不変です。あなたがしなければならないでしょう:

n = new Number(++n);

以前のインスタンスよりも 1 大きい新しいインスタンスを取得します。

于 2013-07-10T14:54:06.110 に答える