主な内容の要点
1. 概要・役割
Number オブジェクトは数値を扱うラッパー(包む)オブジェクトであり、通常の数値(プリミティブ型)にもメソッド呼び出しやプロパティ参照が可能。
普段は明示的に new Number(...) を使ってオブジェクト化する必要はあまりない。
2. コンストラクタ:new Number(value)
new Number(value) によって、ラッパーオブジェクトを生成できる。
引数 value に数値以外を与えた場合は、まず数値に変換され、それをもとにオブジェクトが生成される(変換できなければ NaN になる)
例:
new Number(10) → Number {10}
new Number('10') → Number {10}
new Number('Hello') → Number {NaN}JavaScript3. プリミティブ値の取得:valueOf()
numberObj.valueOf() を呼ぶことで、ラッパーオブジェクトが内部に持つプリミティブな数値を取り出せる。
例:
let obj = new Number(10); console.log(obj.valueOf()); // → 10 JavaScriptこのように、ラッパーを “中身の数値” に戻せる。
4. 静的プロパティ(定数的な値)
Number クラスには、数値操作で便利な定数が静的プロパティとして定義されている。代表的なものは以下:
| プロパティ | 説明 |
|---|---|
Number.MAX_SAFE_INTEGER | “安全な整数” の最大値(2⁵³ − 1) |
Number.MIN_SAFE_INTEGER | “安全な整数” の最小値(−(2⁵³ − 1)) |
Number.MAX_VALUE | 表現可能な正の数の最大値 |
Number.MIN_VALUE | 表現可能な正の数の最小(0 に最も近い正の値) |
Number.NaN | 数値ではない(Not-a-Number)を表す値 |
Number.POSITIVE_INFINITY | 正の無限大を表す値 |
Number.NEGATIVE_INFINITY | 負の無限大を表す値 |
5. “安全な整数 (Safe Integer)” の概念
“安全な整数” とは、IEEE-754 の倍精度浮動小数点形式で正確に表現でき、計算誤差が生じにくい整数範囲を指す。
この範囲を超える整数を扱うと、丸め誤差や予期しない挙動が出る可能性がある。
