第1章 JavaScript導入ガイド

データ型

2009年8月4日

変数のデータタイプ

変数』のページでもふれましたが、JavaScriptの変数は型を指定する必要がありませんが、値には型があります。

内容
数値 整数
浮動小数
123,-123,3,14
314e-2,0.314E1
論理値 真と偽のどちらか true,false
文字列 ダブルクォート(")またはシングルクォート(')で囲まれた値 "Hello, JavaScript!"
null 何も入っていないことを表す特殊な値 null
未定義 変数の初期値が定義されていないことを表す値 undefined

数値 (Number)

整数(Intergers)

整数は最大64ビットの整数値です。整数定数を表現する場合には、8進数、10進数、16進数を使うことができます。

基数 内容
8進数 0から7までの8種類の数値 37,140,200,000
10進数 0から9までの10種類の数値 199,665,536
16進数 0から9までの10種類の数字と、AからFまでの6個のアルファベットを使って表現する数値 0x7cc,0x10000

8進数の整数であることを示すには、先頭に "0" を付けます。各桁には、0 ~ 7の数字を使用します。先頭が "0" が付いても、各桁に "8" や "9" を使用している数値があれば、それは10進数として処理されます。また、8進数の表記で各桁に "e" (または "E") を数値として使用すると、エラーが発生します。

16進数 ("Hex") の整数であることを示すには、先頭に "0x" ("x" は大文字でも小文字でもかまいません) を付けます。各桁には、0 ~ 9 の数字および A ~ F の英字(大文字でも小文字でもかまいません) を使用します。16 進数の表記では、"e" を数値として使用できますが、"e" を使用していても指数の指定にはならないので注意してください。A ~ F の英字は、1 桁分の数値を表すのに使用され、10 進数での 10 ~ 15 に相当します。たとえば、0xF は 15、0x10 は 16 に相当します。

8進数および16進数には負の値もありますが、浮動小数点数はありません。単一の "0" で始まり小数点を持つ数値は、10進数の浮動小数点数として処理されます。"0x" または "00" で始まり小数点を持つ数値では、小数点以下の桁は無視されます。

// 4 つの浮動小数点数は、すべて同じ値です。
.0001, 0.0001, 1e-4, 1.0e-4
// 浮動小数点数。345 に相当します。
3.45e2
// 整数です。
42
// 8 進数。255 に相当します。
0377
// 8 進数は小数部を持つことができないため、この数値は 0 になります。
00.0001
// 整数。378 になります。
0378
// 16 進数の整数。255 に相当します。
0Xff
// 16 進数の整数。14287 に相当します
0x37CF
// 16 進数の整数。999 に相当します。
0x3e7
// 16 進数は小数部を持つことができないため、この数値は 3 になります。
0x3.45e2

浮動少数(Floating Point Literals)

浮動小数は、小数点をピリオド(.)で表した10進数で表現されます。

論理値定数(Boolean Literals)

論理値は、真(true)か偽(false)のどちらかの値を持つ型です。論理演算の結果も、論理値になります。

比較処理では、比較式の 0 は 偽 (false) と見なされ、0 以外の数値を結果として持つステートメントは、真 (true) と見なされます。 したがって、次に示す式は、真 (true) です。

false == 0

文字列(String Literals)

文字列は、ダブルクォート(")またはシングルクォート(')で囲まれた値です。シングル クォーテーション (') を使用すると、ダブル クォーテーション (") を含む文字列を指定することができます。

"This is JavaScript"
//数字をダブルクォートで囲んでも文字列になります。
"1234"
//文字列中にダブルクォーテーションがある場合
'This is "JavaScript"'

文字列中で特殊な値を表現するために,エスケープ文字での表現が用意されています。
 また,特殊文字(ダブルクォートやシングルクォート)を文字列中で使用するため,バックスラッシュによって特殊文字をエスケープすることができます。たとえば,"\\"と記述すれば"\"を表します。

エスケープ文字 名称
\t 水平タブ
\n 改行(ラインフィード)
\f 改ページ(フォームフィード)
\r 復帰(キャリッジリターン)
\b バックスペース
\" ダブルクォーテーション
\' シングルクォーテーション
\\ バックスラッシュ,または円マーク(注1)
\0 NULL文字
\xXX 2桁のXX(16進数)が表すLatin-1文字
\uXXXX 4桁のXXXX(16進数)が表すUnicode文字

注1)バックスラッシュは,多くの日本語のフォントでは円マーク(\)が割り当てられています。
注2)このエスケープ文字は,文字定数中や文字列定数中以外でも用いることができます。

「This is "JavaScript".」を代入させるには以下のようにバックスラッシュでダブルクォーテーションをエスケープします。

var text = "This is \"JavaScript\"."

ただし、シングルクォーテーションで文字列を囲った場合はエスケープする必要ありません。

var text = 'This is "JavaScript".'

未定義型(Undefined)

未定義型は値を代入していない変数の値を表し、undefinedという値一種類のみです。
undefinedは代入値を持たない変数の値以外に、値を返さない関数も undefined を返します。

次のように、値を代入していない変数を使おうとした場合、undefinedが返されます。

console.log(val);

undefined は真偽値のコンテキストで使用されると false としてふるうので、変数が未定義かどうかの判定に使えます。

var x;
if(x === undefined){
....
}

Null型(Null)

Null型は空の値を意味するnullという値一種類のみです。

null は数値のコンテキストでは 0 としてふるまい、真偽値のコンテキストでは false としてふるまいます。

var n = null;
console.log(n * 10);

関連記事

Comment

コメントを残す

メールアドレスが公開されることはありません。

リズムファクトリーはホームページの制作会社です。
ホームページ制作に関するご要望・ご相談はこちらからどうぞ。