Если оператор typeof представляет собой число, строку или логическое значение, он возвращает результат «число», «строка» или «логическое значение». Для объекта, массива или значения NULL он возвращает.
является «объектом». Для операндов функции возвращается «функция». Если операнд не определен, он возвращает «неопределенный».
Если операнд typeof является объектом-оболочкой, например Number, String или Boolean, он возвращает «объект». Кроме того, он также возвращает «объект» для объектов Date и RegExp.
Для объектов, которые не являются частью основного языка JavaScript, но предоставляются встроенной средой JavaScript, возвращаемое значение typeof определяется реализацией.