JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

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演算子自体の使い方はどの場合でも同じです。

  1. JavaScriptの感嘆符(!)演算子とは?論理否定の基本と使い方

    JavaScriptにおける感嘆符(!)は、論理否定(NOT)演算子と呼ばれる単項演算子です。式や値の前に付けることで、その真偽値を反転させます。つまり、true は false に、false は true に変換されます。 論理否定演算子(!)の動作 「!」演算子は、対象の値がtruthy(真とみなされる値)であれば false を返し、falsy(偽とみなされる値)であれば true を返します。 falsyな値には以下のようなものがあります。 false 0(数値のゼロ) ""(空文字列) null undefined NaN サンプルコード 以下のコードを実行

  2. 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&