【JavaScript】型 - 変数と値の性質(数値型/文字列型/論理型/Null/Undefined)

【JavaScript】型 - 変数と値の性質(数値型/文字列型/論理型/Null/Undefined)

JavaScriptの変数や値には『型』と呼ぶ性質があります。

型はプログラムの処理をコントロールするために必要な知識です。

ここでは、型について解説します。

検証環境

型は“変数や値の性質の定義”です。

『種類』のイメージで、例えば1234という値があるとき、この値が数値なのか文字列なのかを判別する要素が型になります。

種類

代表的な型は次の5つです。

概要 JS名称
数値型 整数や浮動小数点数などの値 number 8 / 3.14
文字列型 単一文字を複数繋げた値 string "Hello World"
論理型 論理状態を表す値 boolean true / false
Null 空の値 object null
Undefined 未定義 undefined undefined

ここでは、初めに覚えておきたい数値型、文字列型、論理型について解説していきます。

型の確認

変数や値の型を確認するには、typeof関数を使います。

関数が未学習の方は、ここでは書き方を覚えていただければ問題ありません。

typeof(変数または値)

typeof関数は丸括弧(())内に記述した変数や値の型を文字列で取得します。

例えば、数値1234の型の確認は次のようになります。

___ih_hl_start
console.log(typeof(1234));
___ih_hl_end
number

typeof関数で取得した文字列をconsole.logによってコンソールに出力しています。

実行すると数値型を意味するnumberが出力されます。

数値型

数値型は“整数や浮動小数点数などの値を表す型”です。

JavaScriptでの名称はnumberで、数値を記憶する変数は自動で数値型になります。

let data = 1234;

___ih_hl_start
console.log("1234 : " + typeof(1234));
console.log("data : " + typeof(data));
___ih_hl_end
1234 : number
data : number

文字列型

文字列型は“文字を羅列した値を表す型”です。

JavaScriptでの名称はstringで、文字列を記憶する変数はは自動で文字列型になります。

let data = "Hello World";

___ih_hl_start
console.log("Hello World : " + typeof("Hello World"));
console.log("data        : " + typeof(data));
___ih_hl_end
Hello World : string
data        : string

論理型

論理型は“論理値(真偽)を表す型”です。

JavaScriptでの名称はbooleanで、論理値(true/false)を記憶する変数は自動で論理値型になります。

let data =  true;

___ih_hl_start
console.log("true : " + typeof(true));
console.log("data : " + typeof(data));
___ih_hl_end
true : boolean
data : boolean

変数と値の型

『変数の型』と『値の型』は意味が異なります。

変数の型は“変数に記憶できる値の型”を表し、値の型は“値そのものの型”を表します。

プログラミングには“変数は自身と同じ型の値のみ記憶できる”という基本的な考え方があります。

そのため、変数に異なる型の値を代入する場合は値の型を合わせる必要があります。

例えば、文字列型の変数に、数値型の1234を代入する場合、1234を文字列型に変換します。

ただし、JavaScriptは変数と値に応じて、自動で型変換が行われるため、型変換について意識せずプログラミングすることが可能です。

そのため、基本的には変数は自身の型以外の値を記憶することはできないため、違う型を代入する場合は変数の型を変換する必要があります。

この辺りの特性は動的型付け/静的型付けと呼ばれるもので、興味がある方は調べてみましょう。