diff options
| author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
|---|---|---|
| committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:40:17 -0500 |
| commit | 33058f2b292b3a581333bdfb21b8f671898c5060 (patch) | |
| tree | 51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/web/javascript/reference/global_objects/number/index.html | |
| parent | 8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff) | |
| download | translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2 translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip | |
initial commit
Diffstat (limited to 'files/ja/web/javascript/reference/global_objects/number/index.html')
| -rw-r--r-- | files/ja/web/javascript/reference/global_objects/number/index.html | 183 |
1 files changed, 183 insertions, 0 deletions
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 +--- +<div>{{JSRef}}</div> + +<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> + +<p><strong><code>Number</code></strong> コンストラクターは、数値を扱うための定数とメソッドを含んでいます。他の型の値は <strong><code>Number()</code> 関数</strong>を用いて数値に変換することができます。</p> + +<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> + +<p>JavaScript コードにおける <code>37</code> のような数値リテラルは浮動小数点値であり、整数ではありません。日常的に使用される独立した整数型はありません。 (JavaScript は {{jsxref("BigInt")}} 型を持つようになりましたが、日常の利用で Number を置き換えるように設計されてはいません。 <code>37</code> は Number であり、 BigInt ではありません。)</p> + +<h2 id="Description" name="Description">解説</h2> + +<p>関数として使用された場合、 <code>Number(value)</code> は文字列やその他の値を Number 型に変換します。値が変換できない場合は、 {{jsxref("NaN")}} を返します。</p> + +<h3 id="Literal_syntax" name="Literal_syntax">リテラル構文</h3> + +<pre class="brush: js notranslate">123 // 百二十三 +123.0 // 同じ +123 === 123.0 // true</pre> + +<h3 id="Function_syntax" name="Function_syntax">関数構文</h3> + +<pre class="brush: js notranslate">Number('123') // 数値 123 を返す +Number('123') === 123 // true + +Number("unicorn") // NaN +Number(undefined) // NaN +</pre> + +<h2 id="Constructor" name="Constructor">コンストラクター</h2> + +<dl> + <dt>{{jsxref("Number/Number", "Number()")}}</dt> + <dd>新しい <code>Number</code> 値を生成します。</dd> +</dl> + +<h2 id="Static_properties" name="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" name="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" name="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" name="Examples">例</h2> + +<h3 id="Using_the_Number_object_to_assign_values_to_numeric_variables" name="Using_the_Number_object_to_assign_values_to_numeric_variables">Number オブジェクトを使用して変数に値を代入する</h3> + +<p>以下の例では、<code>Number</code> オブジェクトのプロパティを使用して、いくつかの数の変数に値を代入します。</p> + +<pre class="brush: js notranslate">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" name="Integer_range_for_Number">Number の整数の範囲</h3> + +<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> + +<pre class="brush: js notranslate">const biggestInt = Number.MAX_SAFE_INTEGER // (<code>2<sup>53</sup> - 1</code>) => 9007199254740991 +const smallestInt = Number.MIN_SAFE_INTEGER // -(<code>2<sup>53</sup> - 1</code>) => -9007199254740991</pre> + +<p>JSON にシリアライズされたデータを解析する場合、整数値がこの範囲を超えていると、 JSON パーサーがこの値を <code>Number</code> 型に変換したときに信頼できない値になります。</p> + +<p>可能な回避策として、代わりに {{jsxref("String")}} を使用してください。</p> + +<p>大きい数値は {{jsxref("BigInt")}} 型を用いて表すことができます。</p> + +<h3 id="Using_Number_to_convert_a_Date_object" name="Using_Number_to_convert_a_Date_object">Number を使用して Date オブジェクトを変換する</h3> + +<p>以下の例は、 <code>Number</code> を関数として用いて、{{jsxref("Date")}} オブジェクトを数値に変換します:</p> + +<pre class="brush: js notranslate">let d = new Date('December 17, 1995 03:24:00') +console.log(Number(d)) +</pre> + +<p>これは、コンソールに "819199440000" を出力します。</p> + +<h3 id="Convert_numeric_strings_and_null_to_numbers" name="Convert_numeric_strings_and_null_to_numbers">数字や null を数値に変換する</h3> + +<pre class="brush: js notranslate" dir="rtl">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</pre> + +<h2 id="Specifications" name="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" name="Browser_compatibility">ブラウザーの互換性</h2> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("javascript.builtins.Number")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{jsxref("NaN")}}</li> + <li>{{jsxref("Arithmetic operators")}}</li> + <li>{{jsxref("Math")}} グローバルオブジェクト</li> + <li>任意の精度の整数型: {{jsxref("BigInt")}}</li> +</ul> |
