数値

広告

数値もJavaScriptの基本データ型の1つであり数字や数字に関する記号と組み合わせて表現します。例えば10や3.14などが数値となります。

数値は計算を行ったり繰り返し処理を行う場合の回数をカウントするなどの用途で利用されます。スクリプトの中で記述される数値は数値リテラルという呼び方をすることもあります。

数値の記述は次のように行います。

100
3.14

文字列のように「'」や「"」などで囲う必要はありません。逆に数値を「"」などで囲った場合には数値ではなく数値を表す文字からなる文字列になってしまいます。

215    /* 数値 */
"215"  /* 文字列 */

上記では上は215という数値ですが下は「215」と言う文字列です。文字列では計算を行うことはできません。

なおJavaScriptにおいては数値は全て浮動小数点数として扱われます。他のプログラミング言語においては整数と浮動小数点数を別のデータタイプとして管理するものもありますが、JavaScriptにおいては全ての数値は整数も浮動小数点数も内部的には区別はされません。ただ数値を記述する時には整数は整数として記述できますし浮動小数点数は浮動小数点数のように記述することができます。

数値定数

JavaScriptでは特殊な数値を表す定数が定義されています。これらの定数はNumberクラスのコンストラクタ関数のプロパティとして定義されているもので、次の5つです。

Number.NaN
Number.POSITIVE_INFINITY
Number.NEGATIVE_INFINITY
Number.MAX_VALUE
Number.MIN_VALUE

Number.NaNは「Not a Number」の略語であり数値で無い特殊な値を表す時に使われます。例えば0を0で割った時などにNaNとなります。この値が出力される時は「NaN」と出力されます。

Number.POSITIVE_INFINITYは表現可能な最大の値を超えた時に使われます。正の無限大を表しています。例えば0でない正の値を0で割った時などにPOSITIVE_INFINITYとなります。この値が出力される時は「Infinity」と出力されます。同じようにNumber.NEGATIVE_INFINITYは負の値の絶対値が表現可能な最大の値を超えた場合に使われ負の無限大を表します。この値が出力される時は「-Infinity」と出力されます。

Number.MAX_VALUEは表現可能な最大の値を表し、Number.MIN_VALUEは表現可能な最小の数値を表します。

比較演算子などを使ってこれらの値を比較する場合には注意が必要となります。(詳しくは「関係演算子」で確認します)。

サンプルコード

では簡単なサンプルで試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script3_1.js">
</script>

</body>
</html>
var sum = 10 + 5;

document.write('<p>合計は' + sum + 'です</p>');

上記を実際にブラウザ見てみると次のように表示されます。

p3-1

今回は簡単な加算を行い、その結果を画面に表示しています。

サンプルコード

別のサンプルを試してみます。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>JavaScript テスト</title>
</head>
<body>

<script type="text/javascript" src="./js/script3_2.js">
</script>

</body>
</html>
document.write("<p>" + (1 / 0) + "</p>");
document.write("<p>" + (-1 / 0) + "</p>");
document.write("<p>" + (0 / 0) + "</p>");
document.write("<p>" + Number.MAX_VALUE + "</p>");
document.write("<p>" + Number.MIN_VALUE + "</p>");

上記を実際にブラウザ見てみると次のように表示されます。

p3-2

( Written by Tatsuo Ikura )