値に対して typeof 演算子を使用すると、次の文字列のいずれかが返される場合があります:
"unknown" - 値が未定義の場合
"boolean" - 値がブール値の場合
"string ” - この値が文字列の場合
"number" - この値が数値の場合
"object" - これがオブジェクトまたは null の場合
"function" - この値が関数の場合
一般的に使用される typeof 演算子の戻り値には、数値、文字列、ブール値、未定義、オブジェクト、関数が含まれます。例:
これらの例は、typeof 演算子のオペランドが変数 (メッセージ) または数値リテラルになりうることを示しています。 typeof は関数ではなく演算子であるため、例の中のかっこは必要ありません (使用することはできます)。
上記の例から、Number() で作成した数値も typeof によってオブジェクトとして判断され、値 "object" が返されることがわかりました。これは、コンストラクターがすべてのオブジェクトを返すためです。数値、文字列、配列、関数、日付、ブール値、エラーなどの JavaScript 組み込みオブジェクトを区別したい場合はどうすればよいでしょうか。ここで、次のようなオブジェクトの toString メソッドを呼び出すことができます。