Number
JavaScript オブジェクトは、数値に作用するラッパーオブジェクトです。Number
オブジェクトは、Number()
コンストラクタを用いて生成します。
構文
new Number(value);
引数
value
- 生成されるオブジェクトの数値。
説明
Number
オブジェクトの主な用途は:
プロパティ
Number.EPSILON
- 数値として表される 2 個の数の最小の差。
Number.MAX_SAFE_INTEGER
- JavaScript における確実な整数の最大値 (
253 - 1
)。 Number.MAX_VALUE
- 表現可能な正の数の最大値。
Number.MIN_SAFE_INTEGER
- JavaScript における確実な整数の最小値 (
-(253 - 1)
)。 Number.MIN_VALUE
- 表現可能な正の数の最小値。0 に最も近い正の数です (0 ではありません)。
Number.NaN
- "数値ではない" ("not a number") ことを表す特別な値。
Number.NEGATIVE_INFINITY
- 負の無限大を表す特別な値。オーバーフロー時に返される。
Number.POSITIVE_INFINITY
- 無限大を表す特別な値。オーバーフロー時に返される。
Number.prototype
- Number オブジェクトへのプロパティの追加を許可する。
メソッド
Number.isNaN()
- 渡された値が
NaN
であればtrue
を返す。 Number.isFinite()
- 渡された値が有限数であれば
true
を返す。 Number.isInteger()
- 渡された値が整数であれば
true
を返す。 Number.isSafeInteger()
- 渡された値が確実な範囲の整数 (
-(253 - 1)
から253 - 1
の間) であればtrue
を返す。 Number.toInteger()
渡された値を評価し、整数値 (またはInfinity
) に変換する。ただし、このメソッドは廃止。Number.parseFloat()
- 値はグローバルオブジェクトの
parseFloat()
と同じ。 Number.parseInt()
- 値はグローバルオブジェクトの
parseInt()
と同じ。
Number
インスタンス
すべての Number
インスタンスは、Number.prototype
を継承します。Number
コンストラクタの prototype オブジェクトは、すべての Number
インスタンスに影響を及ぼします。
メソッド
- toExponential
- 数を指数表記で表した文字列にして返します。
- toFixed
- 数を固定小数点表記で表した文字列にして返します。
- toLocaleString
- 環境のロケールを使用して、数を人間にとって読みやすい形で表した文字列にして返します。 Object.toLocaleString メソッドを上書きします。
- toPrecision
- 数を指定された精度で、固定小数点表記または指数表記で表した文字列にして返します。
- toSource
- 指定された Number オブジェクトを表すオブジェクトリテラルにして返します。つまり、この値を新しいオブジェクトを生成するために使用することができます。Object.toSource メソッドを上書きします。
- toString
- 指定されたオブジェクトを表す文字列を返します。Object.toString メソッドを上書きします。
- valueOf
- 指定されたオブジェクトのプリミティブ値を返します。Object.valueOf メソッドを上書きします。
例
Number
オブジェクトを使用して変数に値を代入する
以下の例では、Number
オブジェクトのプロパティを使用して、いくつかの数の変数に値を代入します。
var biggestNum = Number.MAX_VALUE; var smallestNum = Number.MIN_VALUE; var infiniteNum = Number.POSITIVE_INFINITY; var negInfiniteNum = Number.NEGATIVE_INFINITY; var notANum = Number.NaN;
Number
の整数範囲
次の例は、Number
オブジェクトで表現可能な最小の整数値と最大の整数値です (詳細は、ECMAScript 標準の 8.5 The Number Type の章を参照してください):
var biggestInt = 9007199254740992; var smallestInt = -9007199254740992;
JSON にシリアライズされたデータを解析する場合、この範囲を超えた整数値は、JSON パーサがこの値を Number
型に強制すると信頼できない値になるでしょう。可能な回避策として、代わりに String
を使用してください。
Number
を使用して Date
オブジェクトを変換する
以下の例は、Number
を関数として用いて、Date
オブジェクトを数値に変換します:
var d = new Date('December 17, 1995 03:24:00'); console.log(Number(d));
これは、コンソールに "819199440000" を出力します。
数字を数値に変換する
Number("123") // 123 Number("") // 0 Number("0x11") // 17 Number("0b11") // 3 Number("0o11") // 9 Number("foo") // NaN Number("100a") // NaN
仕様
仕様書 | 状況 | コメント |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | 標準 | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) Number の定義 |
標準 | |
ECMAScript 2015 (6th Edition, ECMA-262) Number の定義 |
標準 | New methods and properties added: EPSILON , isFinite , isInteger , isNaN , parseFloat , parseInt |
ECMAScript 2017 Draft (ECMA-262) Number の定義 |
ドラフト |
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) |
機能 | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
基本サポート | (有) | (有) | (有) | (有) | (有) | (有) |