JavaScript のデータ型と変数
通常プログラミング言語の変数は、格納する値に応じて予めデータ型を指定して宣言しますが、JavaScriptの変数にはデータ型の宣言は必要ありません。
これはただ単に変数にデータ型を指定しなくてよいというだけで、JavaScriptがデータ型を持っていないということではありません。
JavaScriptで扱うデータ型一覧表
データ型 | 内容 |
---|---|
数値(number【ナンバー】) | 数値を表します。 |
文字列(string【ストリング】) | 文字列を表します。 |
論理値(boolean【ブーリアン】) | True(真)False(偽)を表します。 |
関数(function【ファンクション】) | 関数を表します。 |
オブジェクト(object【オブジェクト】) | オブジェクトを表します。 |
null【ヌル】(object【オブジェクト】) | 何も格納されていないことを明示的に表します。 |
undefined【アンデファインド】 | 未使用な状態を表します。 |
JavaScriptの変数にはさまざまなデータ型のデータを格納することができますが、
1つの変数には1つの値だけ格納できます。
既存の変数に新しい値を格納した場合は、既存の値は消えて新しい値が格納されます。
変数に値を格納することを「代入」といいます。
変数の宣言
変数を使用するには、変数宣言をします。変数宣言はvar【バー】キーワードの後に変数名を記述します。
変数宣言の書式
var 変数名;
【宣言と同時にデータを格納する場合】
var 変数名 = 格納するデータ;
JavaScript変数名のルール
JavaScriptの変数名はルールに従って付けなくてはいけません。変数の名前は識別子とも呼ばれます。
JavaScriptの識別子は、アルファベットかアンダースコア(_)かドル記号($)から始まらなくてはいけません。
続く文字には数字も使用できます。JavaScriptはアルファベットの大文字と小文字を区別しますので注意が必要です。また、JavaScriptで使用するキーワードの予約語と同じ名前も使用できません。
キャメルケースとスネークケース
変数名が一つの単語で構成されている場合は、すべての文字が大文字や小文字で記述されていても読みにくいと感じることはありませんが、複数の単語を組み合わせた変数名の場合は、
単語の切れ目が判断しにくくなるため可読性が悪化します。
そこで、変数名の可読性を高める工夫として、「キャメルケース」や「スネークケース」というルールで変数名を命名する方法があります。
ルール | 内容 | 使用例(変数名) |
---|---|---|
キャメルケース | 単語と単語の間を開けずに次の単語の先頭を 大文字から記述します。ラクダのコブのような形に なることから「キャメルケース」と呼ばれます。 一般的にはこちらのルールが適用されます。 | memberName |
スネークケース | 単語と単語の間を半角アンダースコア(_)で 連結します。文字通りアンダースコアをヘビに例えて 「スネークケース」と呼ばれます。 | Member_Name |
基本型と参照型
JavaScriptの変数に格納するデータは、データ型によって基本型と参照型に分かれます。
基本型の場合は、変数にデータそのものが格納され、参照型の場合は、格納するデータの場所を示す値が格納されます。
ボリュームのある関数や、サイズの大きい画像データのオブジェクトを変数に出し入れすることは効率が悪いので、データ量が大きい可能性のある関数型やオブジェクト型のデータは参照型のデータの格納方法になります。
データ型による格納型一覧表
データ型 | 格納型 |
---|---|
数値(number) | 基本型 |
文字列(string) | |
論理値(boolean) | |
null | |
undefined | |
関数(function) | 参照型 |
オブジェクト(object) |
数値型(number)の変数
JavaScriptの数値には、整数と浮動小数点がありますが、内部では整数も浮動小数点で表されています。
数値型の変数はNumber【ナンバー】オブジェクトで表されます。
Number【ナンバー】オブジェクトは、変数に数値を代入することで生成されます。
変数「num」を宣言して数値型データを代入する書式
var num = 12345; //数値の12345が変数numに代入されます。
var num = 1+2; //1+2の計算結果の3が変数numに代入されます。
var num = ABCD;//代入した値が数値ではないのでエラーになります。
文字列型(string)の変数
JavaScriptの文字列とは、0文字以上の文字の並びのことをいいます。
文字列型の変数はString【ストリング】オブジェクトで表されます。
文字列の値は、囲み文字のダブルクォーテーション(”)またはシングルクォーテーション(’)で文字列を囲んで、値の開始と終了を指定します。
値(文字列)の中にダブルクォーテーション(”)またはシングルクォーテーション(’)のどちらかが含まれていた場合は、含まれていないほうを囲み文字として使用します。
値(文字列)の中にダブルクォーテーション(”)とシングルクォーテーション(’)の
両方が含まれていた場合は値の中のダブルクォーテーション(”)とシングルクォーテーション(’)の前にバックスラッシュ(¥)を記述することにより、特別な意味を持つ制御コードとして扱うことができます。これを「エスケープシーケンス」と呼びます。
JavaScriptのエスケープシーケンス一覧
エスケープシーケンス | 内容 |
---|---|
¥0 | Null文字 |
¥b | バックスペース |
¥t | 水平タブ |
¥n | 改行 |
¥v | 垂直タブ |
¥f | 改ページ |
¥r | 改行 |
¥” | ダブルクォーテーション |
¥’ | シングルクォーテーション |
¥¥ | バックスラッシュ |
¥xXX | 2桁の16進数XXで指定するUnicode文字 |
¥uXXXX | 4桁の16進数XXXXで指定するUnicode文字 |
変数「str」を宣言して文字列型データを代入する書式
var str = “ABCDE”//文字列「ABCDE」が代入されます。
var str = “文字列は¥”か’で囲みます”//文字列「文字列は”か’で囲みます」が代入されます。
以上で、JavaScript のデータ型と変数についての解説を終了します。ありがとうございました。