変数の型を判定する | typeof演算子 | JavaScript 超完全入門 基本から発展までのすべて

スポンサーリンク
スポンサーリンク

型判定とは?

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"

この例では、変数numnumberstrstringboolbooleanという型が判定されます。

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に関する特殊な動作など、いくつかの注意点もありますので、使い方に気をつけて活用してください。