JavaScript: typeof operator


The typeof operator is used to get the data type (returns a string) of its operand. The operand can be either a literal or a data structure such as a variable, a function, or an object. The operator returns the data type.


typeof operand
typeof (operand)

There are six possible values that typeof returns: object, boolean, function, number, string, and undefined. The following table summarizes possible values returned by the typeof operator.

Type of the operand Result
Object "object"
boolean "boolean"
function "function"
number "number"
string "string"
undefined "undefined"

Examples of typeof operator: string

typeof ""
typeof "abc"
typeof (typeof 1)

Examples of typeof operator: number

typeof 17
typeof -14.56
typeof 4E-3
typeof Infinity
typeof Math.LN2
typeof NaN

Examples of typeof operator: boolean

typeof false
typeof true

Examples of typeof operator: function

typeof Math.tan
typeof function(){}

Examples of typeof operator: object

typeof {a:1}
typeof new Date()
typeof null
typeof /a-z/
typeof Math
typeof JSON

Examples of typeof operator: undefined

typeof undefined
typeof abc

More examples on typeof operator

typeof(4+7);  //returns number
typeof("4"+"7"); //returns string
typeof(4*"7"); //returns number
typeof(4+"7"); //returns string

What is the difference between typeof myvar and typeof(myvar) in JavaScript?

There is absolutely no difference between typeof myvar and typeof(myvar). The output of the following codes will be same i.e. "undefined".

alert(typeof myvar);


How to detect an undefined object property in JavaScript?

The following method is the best way to detect an undefined object property in JavaScript.

if (typeof xyz === "undefined")
alert("xyz is undefined");

How to check whether a variable is defined in JavaScript or not?

The following method is the best way to detect an undefined object property in JavaScript.

if (typeof xyz === "undefined")
alert("Varaible is undefined");
alert("Variable is defined");

The following example tests the data type of variables.

JS Code

var index = 8;
  var result = (typeof index === 'number');
  // Output: true
var description = "w3resource";
  var result = (typeof description === 'string');
  // Output: true

Previous: JavaScript: this Operator
Next: JavaScript: void operator

Test your Programming skills with w3resource's quiz.

Share this Tutorial / Exercise on : Facebook and Twitter

JavaScript: Tips of the Day

if condition within the forEach loop

let count = 0;
const nums = [0, 1, 2, 3];

nums.forEach(num => {
	if (num) count += 1


The if condition within the forEach loop checks whether the value of num is truthy or falsy. Since the first number in the nums array is 0, a falsy value, the if statement's code block won't be executed. count only gets incremented for the other 3 numbers in the nums array, 1, 2 and 3. Since count gets incremented by 1 3 times, the value of count is 3.

Ref: https://bit.ly/2Hcpkm6