In JavaScript, the typeof operator returns the data type of its operand in the form of a string. The operand can be any object, function, or variable.
Syntax:
typeof operand
OR
typeof (operand)
Note: An operand is an expression that represents the object or primitive whose type is returned. The types that can exist in JavaScript are:
- undefined
- Object
- boolean
- number
- string
- symbol
- function
Below is an example of the typeof operator.
Example: This example checks for undefined string, number, and object type and returns the value to the console.
JavaScript
// "string" console.log( typeof 'mukul' ) // "number" console.log( typeof 25) // "undefined" console.log( typeof variable) |
Output:
string number undefined
Let’s cover all the types one by one dedicating a single code section for each code.
Example: Number Type, in this example we used “===” (strict equality comparison operator) to compare value and type, then return true or false. For example, consider first console.log(), js starts compiling from left to right, and first it calculates type 25 as “number”, then compares it with “number”, then finally both return true or false respectively.
JavaScript
//Number console.log( typeof 25 === 'number' ); console.log( typeof 3.14 === 'number' ); console.log( typeof (69) === 'number' ); // log base 10 console.log( typeof Math.LN10 === 'number' ); console.log( typeof Infinity === 'number' ); // Despite being "Not-A-Number" console.log( typeof NaN === 'number' ); // Wrapping in Number() function console.log( typeof Number( '100' ) === 'number' ); |
Output:
true true true true true true true
Fun fact NaN which stands for not-a-number has a type of “number”.
Example: Typeof string
JavaScript
// string console.log( typeof '' === 'string' ); console.log( typeof 'bla' === 'string' ); // ES6 template literal console.log( typeof `template literal` === 'string' ); console.log( typeof '1' === 'string' ); console.log( typeof ( typeof 1) === 'string' ); // Wrapping inside String() function console.log( typeof String(1) === 'string' ); |
Output:
true true true true true true
Example: Typeof boolean
JavaScript
// Boolean console.log( typeof true === 'boolean' ); console.log( typeof false === 'boolean' ); // Two calls of the ! (logical NOT) operator // are equivalent to Boolean() console.log( typeof !!(1) === 'boolean' ); |
Output:
true true true
Example: Typeof undefined
JavaScript
// Undefined console.log( typeof undefined === 'undefined' ); // Declared but undefined variable console.log( typeof variable === 'undefined' ); |
Output:
true true
Example: Typeof symbol
JavaScript
// Symbol console.log( typeof Symbol() === 'symbol' ); console.log( typeof Symbol( 'party' ) === 'symbol' ); console.log( typeof Symbol.iterator === 'symbol' ); |
Output:
true true true
Example: Typeof object
JavaScript
// Object console.log( typeof { b: 1 } === 'object' ); console.log( typeof [1, 2, 9] === 'object' ); console.log( typeof new Date() === 'object' ); |
Output:
true true true
Example: Typeof function
JavaScript
// function console.log( typeof function () { } === 'function' ); //classes too are objects console.log( typeof class C { } === 'function' ); console.log( typeof Math.sin === 'function' ); |
Output:
true true true