w3resource

JavaScript: typeof operator

Description

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.

Syntax

typeof operand
or
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);

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");
else
alert("Variable is defined");

The following example tests the data type of variables.

JS Code

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

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



JavaScript: Tips of the Day

function and arguments

const person = {
  name: 'Lydia Hallie',
  hobbies: ['coding'],
};

function addHobby(hobby, hobbies = person.hobbies) {
  hobbies.push(hobby);
  return hobbies;
}

addHobby('running', []);
addHobby('dancing');
addHobby('baking', person.hobbies);

console.log(person.hobbies);

The addHobby function receives two arguments, hobby and hobbies with the default value of the hobbies array on the person object.
First, we invoke the addHobby function, and pass "running" as the value for hobby and an empty array as the value for hobbies. Since we pass an empty array as the value for y, "running" gets added to this empty array.
Then, we invoke the addHobby function, and pass "dancing" as the value for hobby. We didn't pass a value for hobbies, so it gets the default value, the hobbies property on the person object. We push the hobby dancing to the person.hobbies array.
Last, we invoke the addHobby function, and pass "bdaking" as the value for hobby, and the person.hobbies array as the value for hobbies. We push the hobby baking to the person.hobbies array.
After pushing dancing and baking, the value of person.hobbies is ["coding", "dancing", "baking"]

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