JavaScriptのtypeof演算子とは?使い方と戻り値の一覧をわかりやすく解説
typeof演算子は、単一のオペランドの直前に配置される単項演算子(unary operator)です。オペランドには任意の型の値を指定でき、演算の結果として、そのオペランドのデータ型を示す文字列が返されます。たとえば、オペランドが数値であれば「number」、文字列であれば「string」、真偽値であれば「boolean」と評価されます。
この演算子は、変数の型を動的に判定したい場合や、条件分岐の中で型チェックを行いたい場合に非常に便利です。
typeof演算子の戻り値一覧
以下の表は、typeof演算子が各データ型に対して返す文字列の一覧です。
| データ型 | typeofが返す文字列 |
|---|---|
| Number(数値) | "number" |
| String(文字列) | "string" |
| Boolean(真偽値) | "boolean" |
| Object(オブジェクト) | "object" |
| Function(関数) | "function" |
| Undefined(未定義) | "undefined" |
| Null(null値) | "object" |
注意: nullに対してtypeofを使用すると「object」が返されます。これはJavaScriptの歴史的な仕様によるものであり、多くの開発者を混乱させる有名な挙動です。nullを正確に判定したい場合は、value === nullのように厳密等価演算子を使うのが確実です。
使用例
次のコードは、typeof演算子を使って変数の型を判定し、その結果に応じて処理を分岐させる例です。
<html>
<body>
<script>
var a = 10;
var b = "String";
var linebreak = "<br />";
// 変数bが文字列かどうかを判定
result = (typeof b == "string" ? "B is String" : "B is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
// 変数aが文字列かどうかを判定
result = (typeof a == "string" ? "A is String" : "A is Numeric");
document.write("Result => ");
document.write(result);
document.write(linebreak);
</script>
</body>
</html>
出力結果
Result => B is String
Result => A is Numeric
この例では、三項演算子(条件演算子)と組み合わせて、typeofの判定結果に応じて異なる文字列を出力しています。変数bは文字列なので「B is String」、変数aは数値なので「A is Numeric」が表示されます。
なお、上記のコードではdocument.write()を使用していますが、現代のJavaScript開発ではconsole.log()やDOM操作を使って結果を表示するのが一般的です。typeof演算子自体の使い方はどの場合でも同じです。
-
JavaScriptの感嘆符(!)演算子とは?論理否定の基本と使い方
JavaScriptにおける感嘆符(!)は、論理否定(NOT)演算子と呼ばれる単項演算子です。式や値の前に付けることで、その真偽値を反転させます。つまり、true は false に、false は true に変換されます。 論理否定演算子(!)の動作 「!」演算子は、対象の値がtruthy(真とみなされる値)であれば false を返し、falsy(偽とみなされる値)であれば true を返します。 falsyな値には以下のようなものがあります。 false 0(数値のゼロ) ""(空文字列) null undefined NaN サンプルコード 以下のコードを実行
-
JavaScriptのビットごとのOR(|)演算子とは?使い方をわかりやすく解説
JavaScriptにおけるビットごとのOR(|)演算子は、2つの数値を2進数のビット列として比較し、対応するビットのどちらか一方でも「1」であれば結果として「1」を返す演算子です。両方のビットが「0」の場合のみ、結果は「0」になります。ビットOR演算の基本ルールビットごとのOR演算は、以下のようなルールで各ビットが評価されます。0 | 0 → 00 | 1 → 11 | 0 → 11 | 1 → 1サンプルコード以下のコードを実行すると、JavaScriptのビットごとのOR(|)演算子の動作を確認できます。この例では、「7」と「1」をOR演算しています。<!DOCTYPE html&