値には種類がある
JavaScriptでは、変数に数値や文字などの値を入れて処理を行います。
値にはいくつかの種類があり、その違いによって、できる操作や扱い方が変わります。
変数や計算、繰り返し処理を踏まえ、if文で使う比較演算子を正しく理解するために、内容が一部重なる部分もありますが、JavaScriptの型について説明します。
ここでは、JavaScriptで最初に扱う基本的なプリミティブ型を整理します。
数値
数値は、計算や比較に使われる値です。
JavaScriptでは整数や小数を区別せず、数値として同じように扱います。
構文
let 変数名=数値;
変数に数値を代入することで、その値を使った計算や処理が行えます。
数値はそのまま書くだけで使用でき、特別な記号や指定は必要ありません。
なお、変数のページで既に扱っているため、コード例・動作例は省略します。
文字列
文字列は、文字や文章を表すための値です。
数値と見た目が似ていても、扱い方やできる操作は異なります。
構文
let 変数名='文字列';
文字列は、シングルクォーテーションまたはダブルクォーテーションで囲んで表します。
囲まれた中身は数値であっても、文字として扱われます。
なお、変数のページで既に扱っているため、コード例・動作例は省略します。
真偽値
真偽値は、「正しいか・正しくないか」を表すための値です。
プログラムの判断や分岐の基礎となります。
構文
let 変数名=true;
let 変数名=false;
真偽値には、true(正しい)とfalse(正しくない)の2種類しかありません。
クォーテーションで囲まず、そのまま記述します。
なお、真偽値は後のページで、トリガーとしての使い方も含めて詳しく解説します。
現段階では正しいときはtrue、正しくないときはfalseとだけ覚えておいてください。
undefined
undefinedは、「値がまだ用意されていない状態」を表す値です。
変数は存在しているが、中身が決まっていないときに使われます。
構文
let 変数;
変数を宣言しただけで、値を代入していない場合、その中身は自動的にundefinedになります。
undefinedは、JavaScriptが内部的に設定する初期状態の値です。
コード例
//undefinedTest.js
let data;
alert(data);
動作例
この例では、変数dataを宣言していますが、値は代入していません。
そのため、alertで表示されるのはundefinedになります。
これはエラーではなく、「まだ値が決まっていない」という状態を表しています。
変数や配列を扱っていると、意図せずundefinedになることがあるため、意味を理解しておくことが大切です。
なお、let data = undefined;と自分で代入することもできますが、多くの場合は何も代入していない状態をそのまま使います。
null
nullは、「値が存在しないことを、意図的に示すための値」です。
まだ決まっていないundefinedとは意味が異なります。
構文
let 変数=null;
nullは、自分で明示的に代入する値です。
何も入っていないのではなく、何もない状態にしていることを表します。
コード例
//nullTest.js
let data = null;
alert(data);
動作例
このコードでは、変数dataにnullを代入しています。
alertにはnullが表示され、「値が存在しない」という状態を表します。
undefinedと違い、nullはプログラマーが意図して設定する値です。
そのため、「一度使った変数を空の状態に戻したい」ときなどに使われます。
undefinedとnullの違い
undefinedとnullは、どちらも「何もない」ように見えるため違いが分かりにくい値です。
undefinedは、まだ値が決まっていない状態を表します。
プログラムの途中で、値が代入されていない場合に自動的に扱われることが多い値です。
一方、nullは「ここには値がない」と意図的に決めた状態を表します。
値が存在しないことを、あらかじめ明示したい場合に使われます。
どちらも空のように見えますが、意味は異なります。
この違いは、次ページの比較演算子を扱う際に重要になります。