型判定とは?
JavaScriptでは、さまざまなデータ型を扱いますが、プログラム内でそのデータ型を判定する必要がある場合があります。その際に役立つのがtypeof演算子です。typeof演算子を使うことで、変数や値がどのデータ型に属しているかを簡単に調べることができます。
typeof演算子の基本的な使い方
typeof演算子は、次の構文で使用されます。
typeof 値または変数
この演算子は、指定された値または変数のデータ型を文字列として返します。次に、基本的な使用例を見てみましょう。
let num = 42;
let str = "Hello";
let bool = true;
console.log(typeof num); // "number"
console.log(typeof str); // "string"
console.log(typeof bool); // "boolean"
この例では、変数numはnumber、strはstring、boolはbooleanという型が判定されます。
typeof演算子で判定される主な型
JavaScriptでは、typeof演算子を使って次のようなデータ型を判定できます。
| 型 | 説明 | typeofの結果 |
|---|---|---|
number |
数値を表すデータ型 | “number” |
string |
文字列を表すデータ型 | “string” |
boolean |
真偽値(trueまたはfalse)を表すデータ型 |
“boolean” |
undefined |
定義されていない変数の型 | “undefined” |
object |
オブジェクトや配列などのデータ型 | “object” |
function |
関数を表すデータ型 | “function” |
symbol |
一意の値を持つシンボル | “symbol” |
bigint |
非常に大きな整数を扱うための型 | “bigint” |
nullに関する注意点
JavaScriptではnullは「何もない」ことを表す特別な値ですが、typeof演算子でnullを判定すると、少し特殊な結果が返されます。
let emptyValue = null;
console.log(typeof emptyValue); // "object"
このように、nullは実際にはオブジェクトではありませんが、typeof演算子では"object"と判定されます。これはJavaScriptの仕様によるもので、注意が必要です。
typeof演算子での型判定の応用
typeof演算子を使って、プログラム内で変数の型を判定し、それに応じた処理を行うことができます。次に、型判定に基づいた条件分岐の例を見てみましょう。
function printValue(value) {
if (typeof value === "number") {
console.log("これは数値です: " + value);
} else if (typeof value === "string") {
console.log("これは文字列です: " + value);
} else {
console.log("これは別の型です: " + value);
}
}
printValue(100); // これは数値です: 100
printValue("JavaScript"); // これは文字列です: JavaScript
printValue(true); // これは別の型です: true
この例では、typeof演算子を使って値の型を判定し、数値、文字列、その他の型に応じたメッセージを表示しています。
まとめ
JavaScriptのtypeof演算子は、変数や値のデータ型を判定するために非常に便利なツールです。数値、文字列、真偽値、オブジェクト、関数などのさまざまな型を簡単に判定でき、プログラム内での条件分岐に活用できます。ただし、nullに関する特殊な動作など、いくつかの注意点もありますので、使い方に気をつけて活用してください。