Learning JavaScript? Download my free JavaScript Handbook 🔥

In JavaScript, any value has a type assigned.

The typeof operator is a unary operator that returns a string representing the type of a variable.

Example usage:

typeof 1 //'number'
typeof '1' //'string'
typeof {name: 'Flavio'} //'object'
typeof [1, 2, 3] //'object'
typeof true //'boolean'
typeof undefined //'undefined'
typeof (() => {}) //'function'
typeof Symbol() //'symbol'

JavaScript has no “function” type, and it seems funny that typeof returns 'function' when we pass it a function.

It’s one quirk of it, to make our job easier.

If you don’t initialize the variable when you declare it, it will have the undefined value until you assign a value to it.

let a //typeof a === 'undefined'

typeof works also on object properties.

If you have a car object, with just one property:

const car = {
  model: 'Fiesta'
}

This is how you check if the color property is defined on this object:

if (typeof car.color === 'undefined') {
  // color is undefined
}