Se o operador typeof for um número, string ou valor booleano, o resultado que ele retorna é "número", "string" ou "booleano".
é "objeto". Para operandos de função, retorna "função".
Quando o operando de typeof é um objeto wrapper como Number, String ou Boolean, ele retorna "objeto". Além disso, também retorna "objeto" para objetos Date e RegExp.
Para objetos que não fazem parte da linguagem JavaScript principal, mas são fornecidos pelo ambiente JavaScript incorporado, o valor de retorno de typeof é determinado pela implementação.