「JavaScript/数値」の版間の差分

削除された内容 追加された内容
編集の要約なし
2 行
 
== 概要 ==
'''[[w:整|には自然数、整数]]'''(せい、有理数、実数、複素数などさまざまな体系がありまが、この、''integer'')ちJavaScriptでサポートされているの'''整数リテラル'''と実数の近似のみです複素数はサポートされていまいすうリテラル、''integer literal''。コンピュータにおける実数の近似を'''[[w:浮動小数点数|浮動小数点数]]'''(ふどうしょうすうてんすう、''floating point number'')は'''浮動小数点リテラル'''(ふどうしょうすうてんリテラル、''floating point literal'')を使って表しといいます。
 
プログラミング言語における整数の書き方を'''整数リテラル'''(せいすうリテラル、''integer literal'')、浮動小数点数の書き方を'''浮動小数点リテラル'''(ふどうしょうすうてんリテラル、''floating point literal'')といいます。'''リテラル''' (''literal'') とは文字通り、文字のことを意味しますが、[[JavaScript/var|変数]]に対して定数のことであると捉えることもできます。
* 42
* 3.141592653589793
* -1
* 1.0e+8
* 0xFFFF
 
== 整数リテラル ==は次のような形をしています。
0xから始まる整数リテラルは十六進法を表します。それ以外のリテラルは十進法を表します。
 
* <code>42</code>
<source lang="javascript">
* <code>-1</code>
alert( 0x10 == 16 ); // true
* <code>0</code>
alert( 0xFFFF == 65535 ); // true
* <code>864e5</code>
</source>
* <code>0xFFFF</code>
 
いずれもふつうの整数ですが、<code>864e5</code>というのは科学的表記法で<math>864 \times 10^5</math>(<math>= 8.64 \times 10^7</math>)、すなわち<code>86400000</code>に等しい数値です。<code>0xFFFF</code>というのは十六進法による表示で、十進法の<code>65536</code>に等しい数値です。JavaScriptにおいて<code>0xFFFF</code>と<code>65536</code>はまったく同じ数値として扱われます(ただし、文字列に変換した場合はこの限りではありません)。
 
JavaScriptには二進法や八進法の整数リテラルはありません。0から始まる八進法の整数リテラルは、かつては八進法を表し過去にサポートされていましたが、ECMA-262第3版以降は廃止予定です削除されましたしかし、多くの処理系後方互換のために依然として八進法の整数リテラルをサポートしていますが、非推奨とされています。
 
一方、浮動小数点リテラルは次のような形をしています。
0から始まる整数リテラルは、かつては八進法を表していましたが、ECMA-262第3版以降では廃止予定です。しかし、多くの処理系は依然として八進法の整数リテラルをサポートしています。
 
* <code>0.5</code>
== 浮動小数点リテラル ==
* <code>.5</code>
浮動小数点数は実数をコンピュータで近似した数値の表現方式です。浮動小数点リテラルは符号部、指数部、仮数部からなり、さらに仮数部は整数部、小数点、小数部に分けられますが、憶える必要はありません。
* <code>-1.4142135623730951</code>
* <code>3.141592653589793</code>
* <code>1.0e-8</code>
 
<code>1.0e-8</code>は<math>1.0 \times 10^{-8}</math>、すなわち<code>0.00000001</code>と等しい数値です。
* 3.141592653589793
* 2.99792458e+8(<math>2.99792458 \times 10^8</math>)
* 6.67259e-11(<math>6.67259 \times 10^{-11}</math>)
 
== NaN ==
'''[[w:NaN|NaN]]'''(ナン、'''''N'''ot '''a''' '''N'''umber''、非数、ひすう)とは、数値でないことを表す特殊な値です。JavaScriptでは、たとえば[[w:ゼロ除算|ゼロ除算]]や-1の平方根・対数など定義されていない演算の結果はNaNになります。ただし、0の0乗は便宜上1と定義されています。
 
<source lang="javascript">
34 ⟶ 35行目:
</source>
 
NaNを取得するには、<code>Number.NaN</code>プロパティを使用します。NaNはNaN自身を含む、あらゆる値と等しくありません
 
<source lang="javascript">
40 ⟶ 41行目:
</source>
 
NaNはNaN自身を含む、あらゆる値と等しくありません。JavaScript 1.3以降では、Number.NaNを値に持つグローバル変数[[JavaScript/NaN|NaN]]が定義されています。[[JavaScript/isNaN|isNaN]]関数は与えられたオブジェクトが数値であれば<code>true</code>、さもなくば(文字列やNaNであれば)<code>false</code>を返します。
 
<source lang="javascript">
46 ⟶ 47行目:
</source>
 
グローバル変数NaNはJavaScript 1.3以前に書かれたプログラムとの後方互換のため、書き換え可能なプロパティとして定義されています。NaNの値を取得する必要がある場合は、<code>Number.NaN</code>プロパティを使用してください
 
<source lang="javascript">