JavaScript Type Operators – Check and Compare Types
JavaScript Type Operators are used to check the type of a variable or object, and to manipulate or determine their behavior based on their type.
List of Type Operators:
| Operator | Description | Example | Result |
|---|---|---|---|
typeof |
Returns the type of a variable or expression | typeof 42 |
"number" |
instanceof |
Tests if an object is an instance of a class or constructor | obj instanceof Array |
true/false |
constructor |
Returns the constructor function for an object | obj.constructor |
Function |
1. typeof Operator
The typeof operator returns a string indicating the type of the operand. It is useful for determining the data type of variables and expressions.
Syntax:
typeof operand
Example:
console.log(typeof 42); // "number"
console.log(typeof "Hello"); // "string"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof null); // "object" (special case)
console.log(typeof {}); // "object"
console.log(typeof function(){}); // "function"
Special Cases:
typeof nullreturns"object"due to historical reasons in JavaScript.typeof NaNreturns"number"even though it stands for “Not-a-Number”.
2. instanceof Operator
The instanceof operator tests whether the prototype property of a constructor appears in the prototype chain of an object.
Syntax:
object instanceof constructor
Example:
let arr = [1, 2, 3]; console.log(arr instanceof Array); // true console.log(arr instanceof Object); // true console.log(arr instanceof String); // false
3. constructor Property
The constructor property returns the constructor function that created the instance object.
Syntax:
object.constructor
Example:
let str = "Hello";
console.log(str.constructor); // function String() { [native code] }
let num = 42;
console.log(num.constructor); // function Number() { [native code] }
let obj = {};
console.log(obj.constructor); // function Object() { [native code] }
Using Type Operators:
Example: Checking Variable Type
function checkType(variable) {
if (typeof variable === "string") {
console.log("It's a string!");
} else if (typeof variable === "number") {
console.log("It's a number!");
} else {
console.log("It's something else!");
}
}
checkType(42); // "It's a number!"
checkType("Hello"); // "It's a string!"
checkType(true); // "It's something else!"
Example: Checking Instances
class Animal {}
class Dog extends Animal {}
let myDog = new Dog();
console.log(myDog instanceof Dog); // true
console.log(myDog instanceof Animal); // true
console.log(myDog instanceof Object); // true
console.log(myDog instanceof Array); // false
Summary:
typeof: Useful for checking the data type of a variable.instanceof: Checks if an object is an instance of a specific class or constructor.constructor: Retrieves the constructor function of an object.
These type operators are essential for handling different data types and ensuring type safety in JavaScript.