aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMasahiro FUJIMOTO <mfujimot@gmail.com>2022-01-11 01:52:20 +0900
committerMasahiro FUJIMOTO <mfujimot@gmail.com>2022-01-21 00:15:15 +0900
commite30319090f9a0d5ed9fc23acac68dc7006b3ef75 (patch)
treeb267f999be04960f248a8cdb2487f25e3c8f1c25
parenta9c2ad9452b1536854cbed947ec708fdf92902ab (diff)
downloadtranslated-content-e30319090f9a0d5ed9fc23acac68dc7006b3ef75.tar.gz
translated-content-e30319090f9a0d5ed9fc23acac68dc7006b3ef75.tar.bz2
translated-content-e30319090f9a0d5ed9fc23acac68dc7006b3ef75.zip
2021/09/03 時点の英語版に同期
-rw-r--r--files/ja/web/javascript/reference/global_objects/number/index.md257
1 files changed, 123 insertions, 134 deletions
diff --git a/files/ja/web/javascript/reference/global_objects/number/index.md b/files/ja/web/javascript/reference/global_objects/number/index.md
index 4b16898eaf..e3b7373b03 100644
--- a/files/ja/web/javascript/reference/global_objects/number/index.md
+++ b/files/ja/web/javascript/reference/global_objects/number/index.md
@@ -2,147 +2,147 @@
title: Number
slug: Web/JavaScript/Reference/Global_Objects/Number
tags:
- - Class
+ - クラス
- JavaScript
- Number
- - Reference
+ - リファレンス
+ - ポリフィル
+browser-compat: javascript.builtins.Number
translation_of: Web/JavaScript/Reference/Global_Objects/Number
---
-<div>{{JSRef}}</div>
+{{JSRef}}**`Number`** は[プリミティブラッパーオブジェクト](/ja/docs/Glossary/Primitive#primitive_wrapper_objects_in_javascript)で、 `37` や `-9.25` のような数値を表現したり操作したりするために使用されます。
-<p><strong><code>Number</code></strong> は<a href="/ja/docs/Glossary/Primitive#Primitive_wrapper_objects_in_JavaScript">プリミティブラッパーオブジェクト</a>で、 <code>37</code> や <code>-9.25</code> のような数値を表現したり操作したりするために使用されます。</p>
+**`Number`** コンストラクターは、数値を扱うための定数とメソッドを含んでいます。他の型の値は **`Number()` 関数**を用いて数値に変換することができます。
-<p><strong><code>Number</code></strong> コンストラクターは、数値を扱うための定数とメソッドを含んでいます。他の型の値は <strong><code>Number()</code> 関数</strong>を用いて数値に変換することができます。</p>
+JavaScript の **Number** 型は [IEEE 754 の倍精度 64ビットバイナリー形式](https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0)であり、 Java や C# の `double` のようなものです。これは小数点以下の数値を表すことができることを意味しますが、格納できる値にはいくつかの制限があります。 Number は小数点以下約 17 桁の精度しか保持できません。演算は[丸め誤差](https://en.wikipedia.org/wiki/Floating-point_arithmetic#Representable_numbers,_conversion_and_rounding)の影響を受けます。 Number が保持できる最大の値は約 1.8E308 です。それ以上の数値は、特殊な `Number` の定数 {{jsxref("Infinity")}} に置き換えられます。
-<p>JavaScript の <strong>Number</strong> 型は <a href="https://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0">IEEE 754 の倍精度 64ビットバイナリ形式</a>であり、 Java や C# の <code>double</code> のようなものです。これは小数点以下の数値を表すことができることを意味しますが、格納できる値にはいくつかの制限があります。 Number は小数点以下約 17 桁の精度しか保持できません。演算は<a href="https://en.wikipedia.org/wiki/Floating-point_arithmetic#Representable_numbers,_conversion_and_rounding">丸め誤差</a>の影響を受けます。 Number が保持できる最大の値は約1.8×10<sup>308</sup>です。それ以上の数値は、特殊な数値定数 {{jsxref("Infinity")}} に置き換えられます。</p>
+JavaScript コードにおける `37` のような数値リテラルは浮動小数点値であり、整数ではありません。日常的に使用される独立した整数型はありません。 (JavaScript は {{jsxref("BigInt")}} 型を持つようになりましたが、日常の利用で Number を置き換えるように設計されてはいません。 `37` は Number であり、 BigInt ではありません。)
-<p>JavaScript コードにおける <code>37</code> のような数値リテラルは浮動小数点値であり、整数ではありません。日常的に使用される独立した整数型はありません。 (JavaScript は {{jsxref("BigInt")}} 型を持つようになりましたが、日常の利用で Number を置き換えるように設計されてはいません。 <code>37</code> は Number であり、 BigInt ではありません。)</p>
+`Number` は `0b101`, `0o13`, `0x0A` のようなリテラル形式で表現することもできます。数値の[字句文法はこちら](/ja/docs/Web/JavaScript/Reference/Lexical_grammar#numeric_literals)を参照してください。
-<p>Number は <code>0b101</code>, <code>0o13</code>, <code>0x0A</code> のようなリテラル形式で表現することもできます。数値の<a href="/ja/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals">字句文法はこちら</a>を参照してください。</p>
+## 解説
-<h2 id="Description">解説</h2>
+関数として使用された場合、 `Number(value)` は文字列やその他の値を Number 型に変換します。値が変換できない場合は、 {{jsxref("NaN")}} を返します。
-<p>関数として使用された場合、 <code>Number(value)</code> は文字列やその他の値を Number 型に変換します。値が変換できない場合は、 {{jsxref("NaN")}} を返します。</p>
+### リテラル構文
-<h3 id="Literal_syntax">リテラル構文</h3>
-
-<pre class="brush: js">123 // 百二十三
+```js
+123 // 百二十三
123.0 // 同じ
-123 === 123.0 // true</pre>
+123 === 123.0 // true
+```
-<h3 id="Function_syntax">関数構文</h3>
+### 関数構文
-<pre class="brush: js">Number('123') // 数値 123 を返す
+```js
+Number('123') // 数値 123 を返す
Number('123') === 123 // true
Number("unicorn") // NaN
Number(undefined) // NaN
-</pre>
-
-<h2 id="Constructor">コンストラクター</h2>
-
-<dl>
- <dt><a href="/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/Number"><code>Number()</code></a></dt>
- <dd>新しい <code>Number</code> 値を生成します。</dd>
-</dl>
-
-<h2 id="Static_properties">静的プロパティ</h2>
-
-<dl>
- <dt>{{jsxref("Number.EPSILON")}}</dt>
- <dd>数値として表される 2 個の数の最小の差です。</dd>
- <dt>{{jsxref("Number.MAX_SAFE_INTEGER")}}</dt>
- <dd>JavaScript における確実な整数の最大値 (<code>2<sup>53</sup> - 1</code>) です。</dd>
- <dt>{{jsxref("Number.MAX_VALUE")}}</dt>
- <dd>表現可能な正の数の最大値です。</dd>
- <dt>{{jsxref("Number.MIN_SAFE_INTEGER")}}</dt>
- <dd>JavaScript における確実な整数の最小値 (<code>-(2<sup>53</sup> - 1)</code>) です。</dd>
- <dt>{{jsxref("Number.MIN_VALUE")}}</dt>
- <dd>表現可能な正の数の最小値。0 に最も近い正の数です (0 ではありません)。</dd>
- <dt>{{jsxref("Number.NaN")}}</dt>
- <dd>特殊な "<strong>N</strong>ot <strong>a</strong> <strong>N</strong>umber" (数値ではない) の値です。</dd>
- <dt>{{jsxref("Number.NEGATIVE_INFINITY")}}</dt>
- <dd>負の無限大を表す特別な値です。オーバーフロー時に返されます。</dd>
- <dt>{{jsxref("Number.POSITIVE_INFINITY")}}</dt>
- <dd>無限大を表す特別な値です。オーバーフロー時に返されます。</dd>
- <dt>{{jsxref("Number.prototype")}}</dt>
- <dd><code>Number</code> オブジェクトへのプロパティの追加を許可します。</dd>
-</dl>
-
-<h2 id="Static_methods">静的メソッド</h2>
-
-<dl>
- <dt>{{jsxref("Number.isNaN()")}}</dt>
- <dd>渡された値が <code>NaN</code> であれば <code>true</code> を返します。</dd>
- <dt>{{jsxref("Number.isFinite()")}}</dt>
- <dd>渡された値が有限数であるかどうかを判断します。</dd>
- <dt>{{jsxref("Number.isInteger()")}}</dt>
- <dd>渡された値が整数であるかどうかを判断します。</dd>
- <dt>{{jsxref("Number.isSafeInteger()")}}</dt>
- <dd>渡された値が確実な範囲の整数 (<code>-(2<sup>53</sup> - 1)</code> から <code>2<sup>53</sup> - 1</code> の間) であれば <code>true</code> を返します。</dd>
- <dt>{{jsxref("Number.parseFloat()", "Number.parseFloat(<var>string</var>)")}}</dt>
- <dd>値はグローバルオブジェクトの {{jsxref("parseFloat", "parseFloat()")}} と同じです。</dd>
- <dt>{{jsxref("Number.parseInt()", "Number.parseInt(<var>string</var>, [<var>radix</var>])")}}</dt>
- <dd>値はグローバルオブジェクトの {{jsxref("parseInt", "parseInt()")}} と同じです。</dd>
-</dl>
-
-<h2 id="Instance_methods">インスタンスメソッド</h2>
-
-<dl>
- <dt>{{jsxref("Number.prototype.toExponential()" ,"Number.prototype.toExponential(<var>fractionDigits</var>)")}}</dt>
- <dd>指数表記で数値を表す文字列を返します。</dd>
- <dt>{{jsxref("Number.prototype.toFixed()", "Number.prototype.toFixed(<var>digits</var>)")}}</dt>
- <dd>固定小数点表記で数値を表す文字列を返します。</dd>
- <dt>{{jsxref("Number.prototype.toLocaleString()", "Number.prototype.toLocaleString([<var>locales</var> [, <var>options</var>]])")}}</dt>
- <dd>この値を言語依存の表現で表した文字列を返します。 {{jsxref("Object.prototype.toLocaleString()")}} メソッドを上書きします。</dd>
- <dt>{{jsxref("Number.prototype.toPrecision()", "Number.prototype.toPrecision(<var>precision</var>)")}}</dt>
- <dd>指定された精度で、固定小数点表記または指数表記で数値で表す文字列を返します。</dd>
- <dt>{{jsxref("Number.prototype.toString()", "Number.prototype.toString([<var>radix</var>])")}}</dt>
- <dd>指定された基数を元に、指定されたオブジェクトを表す文字列を返します。 {{jsxref("Object.prototype.toString()")}} メソッドを上書きします。</dd>
- <dt>{{jsxref("Number.prototype.valueOf()")}}</dt>
- <dd>指定されたオブジェクトのプリミティブ値を返します。 {{jsxref("Object.prototype.valueOf()")}} メソッドを上書きします。</dd>
-</dl>
-
-<h2 id="Examples">例</h2>
-
-<h3 id="Using_the_Number_object_to_assign_values_to_numeric_variables">Number オブジェクトを使用して変数に値を代入する</h3>
-
-<p>以下の例では、<code>Number</code> オブジェクトのプロパティを使用して、いくつかの数の変数に値を代入します。</p>
-
-<pre class="brush: js">const biggestNum = Number.MAX_VALUE
+```
+
+## コンストラクター
+
+- [`Number()`](/ja/docs/Web/JavaScript/Reference/Global_Objects/Number/Number)
+ - : 新しい `Number` 値を生成します。
+
+## 静的プロパティ
+
+- {{jsxref("Number.EPSILON")}}
+ - : 数値として表される 2 個の数の最小の差です。
+- {{jsxref("Number.MAX_SAFE_INTEGER")}}
+ - : JavaScript における確実な整数の最大値 (`2^53 - 1`) です。
+- {{jsxref("Number.MAX_VALUE")}}
+ - : 表現可能な正の数の最大値です。
+- {{jsxref("Number.MIN_SAFE_INTEGER")}}
+ - : JavaScript における確実な整数の最小値 (`-(2^53 - 1)`) です。
+- {{jsxref("Number.MIN_VALUE")}}
+ - : 表現可能な正の数の最小値。0 に最も近い正の数です (0 ではありません)。
+- {{jsxref("Number.NaN")}}
+ - : 特殊な "**N**ot **a** **N**umber" (数値ではない) の値です。
+- {{jsxref("Number.NEGATIVE_INFINITY")}}
+ - : 負の無限大を表す特別な値です。オーバーフロー時に返されます。
+- {{jsxref("Number.POSITIVE_INFINITY")}}
+ - : 無限大を表す特別な値です。オーバーフロー時に返されます。
+- {{jsxref("Number", "Number.prototype")}}
+ - : `Number` オブジェクトへプロパティの追加ができるようにします。
+
+## 静的メソッド
+
+- {{jsxref("Number.isNaN()")}}
+ - : 渡された値が `NaN` であるかどうかを判断します。
+- {{jsxref("Number.isFinite()")}}
+ - : 渡された値が有限数であるかどうかを判断します。
+- {{jsxref("Number.isInteger()")}}
+ - : 渡された値が整数であるかどうかを判断します。
+- {{jsxref("Number.isSafeInteger()")}}
+ - : 渡された値が確実な範囲の整数 (`-(2^53 - 1)` から `2^53 - 1` の間) であるかどうかを判断します。
+- {{jsxref("Number.parseFloat()", "Number.parseFloat(<var>string</var>)")}}
+ - : これはグローバルの {{jsxref("parseFloat", "parseFloat()")}} 関数と同じです。
+- {{jsxref("Number.parseInt()", "Number.parseInt(<var>string</var>, [<var>radix</var>])")}}
+ - : これはグローバルの {{jsxref("parseInt", "parseInt()")}} 関数と同じです。
+
+## インスタンスメソッド
+
+- {{jsxref("Number.prototype.toExponential()" ,"Number.prototype.toExponential(<var>fractionDigits</var>)")}}
+ - : 指数表記で数値を表す文字列を返します。
+- {{jsxref("Number.prototype.toFixed()", "Number.prototype.toFixed(<var>digits</var>)")}}
+ - : 固定小数点表記で数値を表す文字列を返します。
+- {{jsxref("Number.prototype.toLocaleString()", "Number.prototype.toLocaleString([<var>locales</var> [, <var>options</var>]])")}}
+ - : この値を言語依存の表現で表す文字列を返します。 {{jsxref("Object.prototype.toLocaleString()")}} メソッドを上書きします。
+- {{jsxref("Number.prototype.toPrecision()", "Number.prototype.toPrecision(<var>precision</var>)")}}
+ - : 指定された精度で、固定小数点表記または指数表記で数値で表す文字列を返します。
+- {{jsxref("Number.prototype.toString()", "Number.prototype.toString([<var>radix</var>])")}}
+ - : 指定された基数を元に、指定されたオブジェクトを表す文字列を返します。 {{jsxref("Object.prototype.toString()")}} メソッドを上書きします。
+- {{jsxref("Number.prototype.valueOf()")}}
+ - : 指定されたオブジェクトのプリミティブ値を返します。 {{jsxref("Object.prototype.valueOf()")}} メソッドを上書きします。
+
+## 例
+
+### Number オブジェクトを使用して変数に値を代入する
+
+以下の例では、`Number` オブジェクトのプロパティを使用して、いくつかの数の変数に値を代入します。
+
+```js
+const biggestNum = Number.MAX_VALUE
const smallestNum = Number.MIN_VALUE
const infiniteNum = Number.POSITIVE_INFINITY
const negInfiniteNum = Number.NEGATIVE_INFINITY
const notANum = Number.NaN
-</pre>
+```
-<h3 id="Integer_range_for_Number">Number の整数の範囲</h3>
+### Number の整数の範囲
-<p>次の例は、<code>Number</code> オブジェクトで表現可能な最小の整数値と最大の整数値です (詳細は、ECMAScript 標準の <em><a href="https://tc39.github.io/ecma262/#sec-ecmascript-language-types-number-type">6.1.6 The Number Type</a></em> の章を参照してください)。</p>
+次の例は、`Number` オブジェクトで表現可能な最小の整数値と最大の整数値です (詳細は、ECMAScript 標準の [6.1.6 The Number Type](https://tc39.github.io/ecma262/#sec-ecmascript-language-types-number-type) の節を参照してください)。
-<pre class="brush: js">const biggestInt = Number.MAX_SAFE_INTEGER // (<code>2<sup>53</sup> - 1</code>) =&gt; 9007199254740991
-const smallestInt = Number.MIN_SAFE_INTEGER // -(<code>2<sup>53</sup> - 1</code>) =&gt; -9007199254740991</pre>
+```js
+const biggestInt = Number.MAX_SAFE_INTEGER // (2**53 - 1) => 9007199254740991
+const smallestInt = Number.MIN_SAFE_INTEGER // -(2**53 - 1) => -9007199254740991
+```
-<p>JSON にシリアライズされたデータを解析する場合、整数値がこの範囲を超えていると、 JSON パーサーがこの値を <code>Number</code> 型に変換したときに信頼できない値になります。</p>
+JSON にシリアライズされたデータを解析する場合、整数値がこの範囲を超えていると、 JSON パーサーがこの値を `Number` 型に変換したときに信頼できない値になります。
-<p>可能な回避策として、代わりに {{jsxref("String")}} を使用してください。</p>
+可能な回避策として、代わりに {{jsxref("String")}} を使用してください。
-<p>大きい数値は {{jsxref("BigInt")}} 型を用いて表すことができます。</p>
+大きい数値は {{jsxref("BigInt")}} 型を用いて表すことができます。
-<h3 id="Using_Number_to_convert_a_Date_object">Number を使用して Date オブジェクトを変換する</h3>
+### Number を使用して Date オブジェクトを変換する
-<p>以下の例は、 <code>Number</code> を関数として用いて、{{jsxref("Date")}} オブジェクトを数値に変換します:</p>
+以下の例は、 `Number` を関数として用いて、{{jsxref("Date")}} オブジェクトを数値に変換します。
-<pre class="brush: js">let d = new Date('December 17, 1995 03:24:00')
+```js
+let d = new Date('December 17, 1995 03:24:00')
console.log(Number(d))
-</pre>
+```
-<p>これは、コンソールに "819199440000" を出力します。</p>
+これは、コンソールに "819199440000" を出力します。
-<h3 id="Convert_numeric_strings_and_null_to_numbers">数字や null を数値に変換する</h3>
+### 数字や null を数値に変換する
-<pre class="brush: js">Number('123') // 123
-Number('123') === 123 /// true
+```js
+Number('123') // 123
+Number('123') === 123 // true
Number('12.3') // 12.3
Number('12.00') // 12
Number('123e-1') // 12.3
@@ -153,32 +153,21 @@ Number('0b11') // 3
Number('0o11') // 9
Number('foo') // NaN
Number('100a') // NaN
-Number('-Infinity') //-Infinity</pre>
-
-<h2 id="Specifications">仕様書</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">仕様書</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-number-objects', 'Number')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Browser_compatibility">ブラウザーの互換性</h2>
-
-<p>{{Compat("javascript.builtins.Number")}}</p>
-
-<h2 id="See_also">関連情報</h2>
-
-<ul>
- <li>{{jsxref("NaN")}}</li>
- <li>{{jsxref("Arithmetic operators")}}</li>
- <li>{{jsxref("Math")}} グローバルオブジェクト</li>
- <li>任意の精度の整数型: {{jsxref("BigInt")}}</li>
-</ul>
+Number('-Infinity') // -Infinity
+```
+
+## 仕様書
+
+{{Specifications}}
+
+## ブラウザーの互換性
+
+{{Compat}}
+
+## 関連情報
+
+- 最新の `Number` の動作(2 進数と 8 進数のリテラルに対応)のポリフィルは [`core-js`](https://github.com/zloirock/core-js#ecmascript-number) にあります
+- {{jsxref("NaN")}}
+- [算術演算子](/ja/docs/Web/JavaScript/Reference/Operators#arithmetic_operators)
+- {{jsxref("Math")}} グローバルオブジェクト
+- 任意の精度の整数型: {{jsxref("BigInt")}}