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

JavaScriptの複雑なデータ型とは?typeof演算子によるデータ型の判定方法を解説

JavaScriptにおけるデータ型とtypeof演算子の基本

JavaScriptでは、数値・文字列・真偽値といった基本のデータ型(プリミティブ型)に加えて、オブジェクトや配列、関数などの「複雑なデータ型(参照型)」を扱うことができます。これらのデータ型をプログラム内で判別する際に活躍するのが、typeof 演算子です。

typeof は単項演算子の一種で、オペランド(被演算子)の直前に置いて使用します。オペランドには任意の型の値を指定でき、評価結果として、そのオペランドのデータ型を表す文字列が返されます。

具体的には、オペランドが数値であれば "number"、文字列であれば "string"、真偽値であれば "boolean" という文字列に評価されます。この結果を比較演算子と組み合わせれば、値の型に応じた条件分岐などを簡単に実装できます。

複雑なデータ型を判定したときの戻り値

オブジェクトや配列などの複雑なデータ型に対して typeof を使うと、"object" が返されます。ただし、関数の場合だけは例外的に "function" という文字列が返される点に注意が必要です。主な戻り値は以下の通りです。

  • 数値 → "number"
  • 文字列 → "string"
  • 真偽値 → "boolean"
  • オブジェクト・配列 → "object"
  • 関数 → "function"
  • 未定義の値 → "undefined"

サンプルコード

次のコードを実行すると、JavaScriptにおける typeof 演算子の基本的な使い方を確認できます。

<!DOCTYPE html>
<html>
<body>
<script>
  var a = 10;
  var b = "String";
  var linebreak = "<br />";

  var result = (typeof b === "string") ? "bは文字列型です" : "bは文字列型ではありません";
  document.write("結果 => " + result);
  document.write(linebreak);

  result = (typeof a === "string") ? "aは文字列型です" : "aは文字列型ではありません";
  document.write("結果 => " + result);
  document.write(linebreak);
</script>
</body>
</html>

実行結果の解説

変数 b には文字列 "String" が代入されているため、typeof b は "string" と評価され、条件式は true になります。その結果、画面には「bは文字列型です」と出力されます。

一方、変数 a には数値の 10 が代入されているため、typeof a の結果は "number" となり、条件式は false と評価されます。よって、こちらは「aは文字列型ではありません」と表示されます。

このように typeof 演算子を使えば、変数のデータ型を実行時に簡単に調べることができ、特に外部からの入力値やAPIのレスポンスなど、事前に型が確定しない値を扱う場合に非常に便利です。

  1. JavaScriptのPromiseとは?非同期処理の基本をわかりやすく解説

    JavaScriptのPromiseとは?Promise(プロミス)は、JavaScriptで非同期処理を扱うためのオブジェクトです。Promiseが生成された時点では、最終的な結果の値はまだ確定していません。処理が完了した将来のタイミングで、成功または失敗の結果を受け取ることができます。これにより、APIからのデータ取得やファイル読み込みなど、時間のかかる処理を効率的に記述できます。Promiseの3つの状態Promiseは、必ず以下の3つの状態のいずれかを持ちます。pending(待機):初期状態。処理がまだ完了していない状態です。fulfilled(履行):処理が正常に完了し、結果の値が

  2. Python 3の標準データ型とは?数値・シーケンス・辞書の基本をわかりやすく解説

    Python 3の標準データ型の概要Python 3に標準で用意されているデータ型は、大きく分けて「数値型」「シーケンス型」「辞書(ディクショナリ)型」の3つに分類できます。辞書はキーと値のペアを格納するコレクションであり、Pythonプログラミングにおいて最も頻繁に使われるデータ構造の一つです。数値型(Numeric Types)数値型には「整数(int)」「浮動小数点数(float)」「複素数(complex)」の3種類があります。整数(int):小数点を含まない整数値です。例:10、-10浮動小数点数(float):小数部分を持つ実数です。例:1.55、0.005複素数(complex)