質問: "12.34"; console.log(typeof Number(n)); console.log(typeof Number.parseInt(n)); console.log(typeof Number.parseFloat(n)); ``` 上記はすべてnumberです。型変換をするだけならこれで十分ではないかと思います。一方、下記はobjectです。new演算子を使って明示的にインスタンスを作成することにより、はじめてobjectになります。 ``` console.log(typeof new Number(n)); ``` ここまでは知っていることを前提として、「new Number」と書かなければならないケースがあるのか、それは具体的にどのようなケースかというのが質問の主旨です。
回答: > > Number JavaScript オブジェクトは、数値に作用するラッパーオブジェクトです。MDN > > Number オブジェクトの明示的な作成が必要になることはほとんどありません。MSDN.aspx) > > > マニュアルにもこのように書かれていますし、数値をNumberのインスタンスとして生成するコードを記述する意味は無いと思います。 ただ、Numberそのものが不要かというと、もし無ければ「str = 1 + ' day';」等の場合に内部で「str = new Number(1).toString() + ' day';」のように処理されて文字列型への自動変換とかされているものがなくなると言うことだと思いますし、そういう意味では必要かなと思います。