Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

JavaScript typeof Operator

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

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: Operand is an expression representing the object or primitive whose type is to be returned. The possible types that exists in javascript are:

  • undefined
  • Object
  • boolean
  • number
  • string
  • symbol
  • function

Below is an example of the typeof operator.

Example: This example checks the typeof of a string, number, and undefined object and returns the value in the console.

javascript




<script>
    // "string"
    console.log(typeof 'mukul')
     
    // "number"
    console.log(typeof 25)
     
    // "undefined"
    console.log(typeof variable)
</script>

Output:

string
number
undefined

Let’s cover all the types one by one dedicating a single code section for each code.

 Example: Typeof Number, in this sample, we used ‘===’ (strict equality comparison operator) which compare value and type both and then return true or false. For example- consider the first console.log(), the js starts compiling from left to right and it first calculates the type of 25 which is ‘number’, and then compares it with ‘number’ and then finally returns true or false accordingly. 

javascript




<script>
    //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');
</script>

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




<script>
    // 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');
</script>

Output: 

true
true
true
true
true
true

 Example: Typeof boolean 

javascript




<script>
    // 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');
</script>

Output: 

true
true
true

 Example: Typeof undefined 

javascript




<script>
    // Undefined
    console.log(typeof undefined === 'undefined');
     
    // Declared but undefined variable
    console.log(typeof variable === 'undefined');
</script>

Output: 

true
true

 Example: Typeof symbol 

javascript




<script>
    // Symbol
    console.log(typeof Symbol() === 'symbol');
    console.log(typeof Symbol('party') === 'symbol');
    console.log(typeof Symbol.iterator === 'symbol');
</script>

Output: 

true
true
true

 Example: Typeof object 

javascript




<script>
    // Object
    console.log(typeof {b: 1} === 'object');
    console.log(typeof [1, 2, 9] === 'object');
    console.log(typeof new Date() === 'object');
</script>

Output: 

true
true
true

 Example: Typeof function 

javascript




<script>
    // function
    console.log(typeof function() {} === 'function');
     
    //classes too are objects
    console.log(typeof class C {} === 'function');
    console.log(typeof Math.sin === 'function');
</script>

Output: 

true
true
true

My Personal Notes arrow_drop_up
Last Updated : 14 Mar, 2023
Like Article
Save Article
Similar Reads
Related Tutorials