JS: typeof Operator
typeof value
-
Return a string that represents the
Type
of value.
Return one of:
"object"
for Object or null."function"
for function."string"
for string."number"
for number, including NaN and Infinity"undefined"
for undefined."boolean"
fortrue
orfalse
.
π‘ TIP:
typeof
is a operator, not a function. This means, you do not need parenthesis for the argument. e.g.typeof 3
is valid. Use parenthesistypeof(expr)
only when expr is complicated.console.log( typeof undefined === "undefined", typeof "abc" === "string", typeof true === "boolean", typeof false === "boolean", typeof 3 === "number", typeof NaN === "number", typeof Infinity === "number", ); // type of some standard objects console.log( typeof {} === "object", typeof [3, 4] === "object", typeof (new Date()) === "object", typeof /x/ === "object", typeof JSON === "object", typeof Math === "object", typeof (function () {}) === "function", typeof ((x) => x) === "function", );
Null is Not an Object
π WARNING:
typeof null
return "object"
is a bug and we are stuck with it. (it should return "null"
) γsee nullγ
Function is Also Object
π WARNING:
by JavaScript spec, there is no value type named βfunctionβ. typeof
return "function"
is a programing convenience.