Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Number JavaScript オブジェクトは、数値に作用するラッパーオブジェクトです。Number オブジェクトは、Number() コンストラクタを用いて生成します。

構文

new Number(value);

引数

value
生成されるオブジェクトの数値。

説明

Number オブジェクトの主な用途は:

  • 引数が数に変換できない場合、NaN を返します。
  • 非コンストラクタコンテキスト (すなわち、new 演算子なし) では、型変換を行うために使われます。

プロパティ

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
基本サポート (有) (有) (有) (有) (有) (有)

関連情報

  • NaN
  • Math グローバルオブジェクト

ドキュメントのタグと貢献者

 このページの貢献者: Marsf, teoli, ethertank, trevorh, Potappo, Mgjbot
 最終更新者: Marsf,