If the typeof operator is a number, string or Boolean value, the result it returns is "number", "string" or "boolean". For an object, array or null, it returns
is "object". For function operands, it returns "function". If the operand is undefined, it returns "undefined".
When the operand of typeof is a wrapper object such as Number, String or Boolean, it returns "object". In addition, it also returns "object" for Date and RegExp objects.
For objects that are not part of the core JavaScript language but are provided by the JavaScript embedded environment, the return value of typeof is implementation-determined.