typeof 演算子が数値、文字列、またはブール値の場合、オブジェクト、配列、または null の場合、返される結果は「数値」、「文字列」、または「ブール値」です。
関数オペランドの場合は、「関数」を返します。オペランドが未定義の場合は、「未定義」を返します。
typeof のオペランドが Number、String、Boolean などのラッパー オブジェクトの場合は、「object」を返します。また、Date オブジェクトや RegExp オブジェクトの場合も「object」を返します。
コア JavaScript 言語の一部ではないが、JavaScript 組み込み環境によって提供されるオブジェクトの場合、typeof の戻り値は実装によって決まります。