JS: “typeof” Operator

typeof value Return a string that represents the type of value .

Return one of:

"object" for object or null . [see null]

for object or . [see null] "function" for function.

for function. "string" for string.

for string. "number" for number, including NaN and Infinity .

for number, including and . "undefined" for undefined . [see undefined]

for . [see undefined] "boolean" for true or false .

[see Value Types]

console . log ( typeof undefined === "undefined" ); console . log ( typeof "abc" === "string" ); console . log ( typeof true === "boolean" ); console . log ( typeof false === "boolean" ); console . log ( typeof 3 === "number" ); console . log ( typeof NaN === "number" ); console . log ( typeof Infinity === "number" ); console . log ( typeof {} === "object" ); console . log ( typeof [3,4] === "object" ); console . log ( typeof ( new Date ()) === "object" ); console . log ( typeof /x/ === "object" ); console . log ( typeof JSON === "object" ); console . log ( typeof Math === "object" );

[see JavaScript Object Reference]

Type of null

typeof null return "object" . This is historical bug and we are stuck with it. (it should return "null" )

[see null]

Type of function

typeof function return "function" .

console . log ( typeof ( function () {}) === "function" );

Note, technically, JavaScript function actually is object, by spec. There is no type named “function”.

[see Value Types]

[see Object Type]

Find Type of Object

Determine Type of Object

“typeof” is a Operator