変数のデータタイプ
『変数』のページでもふれましたが、JavaScriptの変数は型を指定する必要がありませんが、値には型があります。
| 型 | 内容 | 例 |
|---|---|---|
| 数値 | 整数 浮動小数 |
123,-123,3,14 314e-2,0.314E1 |
| 論理値 | 真と偽のどちらか | true,false |
| 文字列 | ダブルクォート(")またはシングルクォート(')で囲まれた値 | "Hello, JavaScript!" |
| null | 何も入っていないことを表す特殊な値 | null |
整数(Intergers)
整数は最大64ビットの整数値です。整数定数を表現する場合には、8進数、10進数、16進数を使うことができます。
| 基数 | 内容 | 例 |
|---|---|---|
| 8進数 | 0から始まる数値(0~7を含む) | 37,140,200,000 |
| 10進数 | 1~9から始まる数値(0~9を含む) | 199,665,536 |
| 16進数 | 0xまたは0xから始まり、0~9とa~fまたはA~Fを含む | 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) です。
alse == 0
文字列(String Literals)
文字列は、ダブルクォート(")またはシングルクォート(')で囲まれた値です。シングル クォーテーション (') を使用すると、ダブル クォーテーション (") を含む文字列を指定することができます。
"This is JavaScript" //数字をダブルクォートで囲んでも文字列になります。 "1234" //文字列中にダブルクォーテーションがある場合 'This is "JavaScript"'
文字列中で特殊な値を表現するために,エスケープ文字での表現が用意されています。
また,特殊文字(ダブルクォートやシングルクォート)を文字列中で使用するため,バックスラッシュによって特殊文字をエスケープすることができます。たとえば,"\\"と記述すれば"\"を表します。
| エスケープ文字 | 名称 |
|---|---|
| \t | 水平タブ |
| \n | ラインフィード |
| \f | フォームフィード |
| \r | キャリッジリターン |
| \b | バックスペース |
| \" | ダブルクォート |
| \' | シングルクォート |
| \\ | バックスラッシュ,または円マーク(注1) |
注1)バックスラッシュは,多くの日本語のフォントでは円マーク(\)が割り当てられています。
注2)このエスケープ文字は,文字定数中や文字列定数中以外でも用いることができます。
「This is "JavaScript".」を代入させるには以下のようにバックスラッシュでダブルクォーテーションをエスケープします。
var text = "This is \"JavaScript\"."
ただし、シングルクォーテーションで文字列を囲った場合はエスケープする必要ありません。
var text = 'This is "JavaScript".'