このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 この記事の翻訳にご協力ください!
Number JavaScript オブジェクトは、数値に作用するラッパーオブジェクトです。Number オブジェクトは、Number() コンストラクタを用いて生成します。プリミティブ型オブジェクト number は Number() 関数を用いて生成します。
JavaScript の Number 型は 倍精度 64 bit バイナリ形式 IEEE 754 の値です。最近の実装では、JavaScriptは BigInt 型を使って任意の精度の整数もサポートします。
構文
new Number(value);
var a = new Number('123'); // a === 123 is false
var b = Number('123'); // b === 123 is true
a instanceof Number; // is true
b instanceof Number; // is false
引数
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 インスタンスに影響を及ぼします。
メソッド
Number.prototype.toExponential()- 指数表記で数値を表す文字列を返します。
Number.prototype.toFixed()- 固定小数点表記で数値を表す文字列を返します。
Number.prototype.toLocaleString()- この値を表す言語依存の文字列を返します。
Object.prototype.toLocaleString()メソッドを上書きします。 Number.prototype.toPrecision()- 指定された精度で、固定小数点表記または指数表記で数値で表す文字列を返します。
Number.prototype.toSource()- 指定された
Numberオブジェクトを表すオブジェクトリテラルにして返します。つまり、この値を新しいオブジェクトを生成するために使うことができます。Object.prototype.toSource()メソッドを上書きします。 Number.prototype.toString()- 指定された基数を元に、指定されたオブジェクトを表す文字列を返します。
Object.prototype.toString()メソッドを上書きします。 Number.prototype.valueOf()- 指定されたオブジェクトのプリミティブ値を返します。
Object.prototype.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 標準の 6.1.6 The Number Type の章を参照してください):
var biggestInt = Number.MAX_SAFE_INTEGER; //(253 - 1) => 9007199254740991; var smallestInt = Number.MIN_SAFE_INTEGER; //-(253 - 1) => -9007199254740991;
JSON にシリアライズされたデータを解析する場合、この範囲を超えた整数値は、JSON パーサがこの値を Number 型に強制すると信頼できない値になるでしょう。可能な回避策として、代わりに String を使用してください。
大きい数値は BigInt 型を用いて表すことができます。
Number を使用して Date オブジェクトを変換する
以下の例は、Number を関数として用いて、Date オブジェクトを数値に変換します:
var d = new Date('December 17, 1995 03:24:00');
console.log(Number(d));
これは、コンソールに "819199440000" を出力します。
数字や null を数値に変換する
Number('123') // 123
Number('12.3') // 12.3
Number('12.00') // 12
Number('123e-1') // 12.3
Number('') // 0
Number(null) // 0
Number('0x11') // 17
Number('0b11') // 3
Number('0o11') // 9
Number('foo') // NaN
Number('100a') // NaN
Number('-Infinity') //-Infinity
仕様
| 仕様書 | 状況 | コメント |
|---|---|---|
| ECMAScript 1st Edition (ECMA-262) | 標準 | 初期定義。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 Latest Draft (ECMA-262) Number の定義 |
ドラフト |
ブラウザー実装状況
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| デスクトップ | モバイル | サーバー | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Number | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
EPSILON | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 25 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 25 | Opera Android 完全対応 21 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
MAX_SAFE_INTEGER | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 31 | IE 未対応 なし | Opera 完全対応 あり | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 34 | Firefox Android 完全対応 31 | Opera Android 完全対応 あり | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.12 |
MAX_VALUE | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
MIN_SAFE_INTEGER | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 31 | IE 未対応 なし | Opera 完全対応 あり | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 34 | Firefox Android 完全対応 31 | Opera Android 完全対応 あり | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.12 |
MIN_VALUE | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
NaN | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
NEGATIVE_INFINITY | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
POSITIVE_INFINITY | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
isFinite | Chrome 完全対応 19 | Edge 完全対応 12 | Firefox 完全対応 16 | IE 未対応 なし | Opera 完全対応 15 | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 25 | Firefox Android 完全対応 16 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.10 |
isInteger | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 16 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 あり | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 16 | Opera Android 完全対応 21 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
isNaN | Chrome 完全対応 25 | Edge 完全対応 12 | Firefox 完全対応 15 | IE 未対応 なし | Opera 完全対応 あり | Safari 完全対応 9 | WebView Android 完全対応 あり | Chrome Android 完全対応 25 | Firefox Android 完全対応 15 | Opera Android 完全対応 あり | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 あり | nodejs 完全対応 0.10 |
isSafeInteger | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 32 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 10 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 32 | Opera Android 完全対応 21 | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
parseFloat | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 25 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 25 | Opera Android 完全対応 21 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
parseInt | Chrome 完全対応 34 | Edge 完全対応 12 | Firefox 完全対応 25 | IE 未対応 なし | Opera 完全対応 21 | Safari 完全対応 9 | WebView Android 完全対応 ≤37 | Chrome Android 完全対応 34 | Firefox Android 完全対応 25 | Opera Android 完全対応 21 | Safari iOS 完全対応 9 | Samsung Internet Android 完全対応 2.0 | nodejs 完全対応 0.12 |
prototype | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toExponential | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toFixed | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toInteger | Chrome 未対応 なし | Edge 未対応 なし | Firefox 未対応 16 — 32 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 未対応 16 — 32 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
toLocaleString | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toPrecision | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 5.5 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
toSource | Chrome 未対応 なし | Edge 未対応 なし | Firefox 完全対応 1 | IE 未対応 なし | Opera 未対応 なし | Safari 未対応 なし | WebView Android 未対応 なし | Chrome Android 未対応 なし | Firefox Android 完全対応 4 | Opera Android 未対応 なし | Safari iOS 未対応 なし | Samsung Internet Android 未対応 なし | nodejs 未対応 なし |
toString | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 3 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
valueOf | Chrome 完全対応 1 | Edge 完全対応 12 | Firefox 完全対応 1 | IE 完全対応 4 | Opera 完全対応 あり | Safari 完全対応 あり | WebView Android 完全対応 1 | Chrome Android 完全対応 18 | Firefox Android 完全対応 4 | Opera Android 完全対応 あり | Safari iOS 完全対応 あり | Samsung Internet Android 完全対応 1.0 | nodejs 完全対応 あり |
凡例
- 完全対応
- 完全対応
- 未対応
- 未対応
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非標準。ブラウザー間の互換性が低い可能性があります。
- 非推奨。新しいウェブサイトでは使用しないでください。
- 非推奨。新しいウェブサイトでは使用しないでください。
関連情報
NaNMathグローバルオブジェクト- Integers with arbitrary precision:
BigInt - Number type in details