In 'n' Out

知識を取り込み、そして発信する

プリミティブ型

値には種類がある

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は「ここには値がない」と意図的に決めた状態を表します。
値が存在しないことを、あらかじめ明示したい場合に使われます。
どちらも空のように見えますが、意味は異なります。
この違いは、次ページの比較演算子を扱う際に重要になります。