From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../reference/global_objects/number/index.html | 183 +++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 files/ja/web/javascript/reference/global_objects/number/index.html (limited to 'files/ja/web/javascript/reference/global_objects/number/index.html') diff --git a/files/ja/web/javascript/reference/global_objects/number/index.html b/files/ja/web/javascript/reference/global_objects/number/index.html new file mode 100644 index 0000000000..dbac6b734c --- /dev/null +++ b/files/ja/web/javascript/reference/global_objects/number/index.html @@ -0,0 +1,183 @@ +--- +title: Number +slug: Web/JavaScript/Reference/Global_Objects/Number +tags: + - JavaScript + - Number + - Reference +translation_of: Web/JavaScript/Reference/Global_Objects/Number +--- +
{{JSRef}}
+ +

Numberプリミティブラッパーオブジェクトで、 37-9.25 のような数値を表現したり操作したりするために使用されます。

+ +

Number コンストラクターは、数値を扱うための定数とメソッドを含んでいます。他の型の値は Number() 関数を用いて数値に変換することができます。

+ +

JavaScript の Number 型は IEEE 754 の倍精度 64ビットバイナリ形式であり、 Java や C# の double のようなものです。これは小数点以下の数値を表すことができることを意味しますが、格納できる値にはいくつかの制限があります。 Number は小数点以下約17桁の精度しか保持できません。演算は丸め誤差の影響を受けます。 Number が保持できる最大の値は約1.8×10308です。それ以上の数値は、特殊な数値定数 {{jsxref("Infinity")}} に置き換えられます。

+ +

JavaScript コードにおける 37 のような数値リテラルは浮動小数点値であり、整数ではありません。日常的に使用される独立した整数型はありません。 (JavaScript は {{jsxref("BigInt")}} 型を持つようになりましたが、日常の利用で Number を置き換えるように設計されてはいません。 37 は Number であり、 BigInt ではありません。)

+ +

解説

+ +

関数として使用された場合、 Number(value) は文字列やその他の値を Number 型に変換します。値が変換できない場合は、 {{jsxref("NaN")}} を返します。

+ +

リテラル構文

+ +
123    // 百二十三
+123.0  // 同じ
+123 === 123.0  // true
+ +

関数構文

+ +
Number('123')  // 数値 123 を返す
+Number('123') === 123  // true
+
+Number("unicorn")  // NaN
+Number(undefined)  // NaN
+
+ +

コンストラクター

+ +
+
{{jsxref("Number/Number", "Number()")}}
+
新しい Number 値を生成します。
+
+ +

静的プロパティ

+ +
+
{{jsxref("Number.EPSILON")}}
+
数値として表される 2 個の数の最小の差です。
+
{{jsxref("Number.MAX_SAFE_INTEGER")}}
+
JavaScript における確実な整数の最大値 (253 - 1) です。
+
{{jsxref("Number.MAX_VALUE")}}
+
表現可能な正の数の最大値です。
+
{{jsxref("Number.MIN_SAFE_INTEGER")}}
+
JavaScript における確実な整数の最小値 (-(253 - 1)) です。
+
{{jsxref("Number.MIN_VALUE")}}
+
表現可能な正の数の最小値。0 に最も近い正の数です (0 ではありません)。
+
{{jsxref("Number.NaN")}}
+
特殊な "Not a Number" (数値ではない) の値です。
+
{{jsxref("Number.NEGATIVE_INFINITY")}}
+
負の無限大を表す特別な値です。オーバーフロー時に返されます。
+
{{jsxref("Number.POSITIVE_INFINITY")}}
+
無限大を表す特別な値です。オーバーフロー時に返されます。
+
{{jsxref("Number.prototype")}}
+
Number オブジェクトへのプロパティの追加を許可します。
+
+ +

静的メソッド

+ +
+
{{jsxref("Number.isNaN()")}}
+
渡された値が NaN であれば true を返します。
+
{{jsxref("Number.isFinite()")}}
+
渡された値が有限数であるかどうかを判断します。
+
{{jsxref("Number.isInteger()")}}
+
渡された値が整数であるかどうかを判断します。
+
{{jsxref("Number.isSafeInteger()")}}
+
渡された値が確実な範囲の整数 (-(253 - 1) から 253 - 1 の間) であれば true を返します。
+
{{jsxref("Number.parseFloat()", "Number.parseFloat(string)")}}
+
値はグローバルオブジェクトの {{jsxref("parseFloat", "parseFloat()")}} と同じです。
+
{{jsxref("Number.parseInt()", "Number.parseInt(string, [radix])")}}
+
値はグローバルオブジェクトの {{jsxref("parseInt", "parseInt()")}} と同じです。
+
+ +

インスタンスメソッド

+ +
+
{{jsxref("Number.prototype.toExponential()" ,"Number.prototype.toExponential(fractionDigits)")}}
+
指数表記で数値を表す文字列を返します。
+
{{jsxref("Number.prototype.toFixed()", "Number.prototype.toFixed(digits)")}}
+
固定小数点表記で数値を表す文字列を返します。
+
{{jsxref("Number.prototype.toLocaleString()", "Number.prototype.toLocaleString([locales [, options]])")}}
+
この値を言語依存の表現で表した文字列を返します。 {{jsxref("Object.prototype.toLocaleString()")}} メソッドを上書きします。
+
{{jsxref("Number.prototype.toPrecision()", "Number.prototype.toPrecision(precision)")}}
+
指定された精度で、固定小数点表記または指数表記で数値で表す文字列を返します。
+
{{jsxref("Number.prototype.toString()", "Number.prototype.toString([radix])")}}
+
指定された基数を元に、指定されたオブジェクトを表す文字列を返します。 {{jsxref("Object.prototype.toString()")}} メソッドを上書きします。
+
{{jsxref("Number.prototype.valueOf()")}}
+
指定されたオブジェクトのプリミティブ値を返します。 {{jsxref("Object.prototype.valueOf()")}} メソッドを上書きします。
+
+ +

+ +

Number オブジェクトを使用して変数に値を代入する

+ +

以下の例では、Number オブジェクトのプロパティを使用して、いくつかの数の変数に値を代入します。

+ +
const biggestNum     = Number.MAX_VALUE
+const smallestNum    = Number.MIN_VALUE
+const infiniteNum    = Number.POSITIVE_INFINITY
+const negInfiniteNum = Number.NEGATIVE_INFINITY
+const notANum        = Number.NaN
+
+ +

Number の整数の範囲

+ +

次の例は、Number オブジェクトで表現可能な最小の整数値と最大の整数値です (詳細は、ECMAScript 標準の 6.1.6 The Number Type の章を参照してください)。

+ +
const biggestInt  = Number.MAX_SAFE_INTEGER  //  (253 - 1) =>  9007199254740991
+const smallestInt = Number.MIN_SAFE_INTEGER  // -(253 - 1) => -9007199254740991
+ +

JSON にシリアライズされたデータを解析する場合、整数値がこの範囲を超えていると、 JSON パーサーがこの値を Number 型に変換したときに信頼できない値になります。

+ +

可能な回避策として、代わりに {{jsxref("String")}} を使用してください。

+ +

大きい数値は {{jsxref("BigInt")}} 型を用いて表すことができます。

+ +

Number を使用して Date オブジェクトを変換する

+ +

以下の例は、 Number を関数として用いて、{{jsxref("Date")}} オブジェクトを数値に変換します:

+ +
let d = new Date('December 17, 1995 03:24:00')
+console.log(Number(d))
+
+ +

これは、コンソールに "819199440000" を出力します。

+ +

数字や null を数値に変換する

+ +
Number('123')     // 123
+Number('123') === 123 /// true
+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
+ +

仕様書

+ + + + + + + + + + + + +
仕様書
{{SpecName('ESDraft', '#sec-number-objects', 'Number')}}
+ +

ブラウザーの互換性

+ + + +

{{Compat("javascript.builtins.Number")}}

+ +

関連情報

+ + -- cgit v1.2.3-54-g00ecf