The strict equality operator [ The strict equality operators [ The most notable difference between this operator and the equality [===
] checks whether its two operands are equal, returning a Boolean result. Unlike the equality operator, the strict equality operator always considers operands of different types to be different. Try it
Syntax
Description
===
and !==
] provide the IsStrictlyEqual semantic.false
.true
only if they refer to the same object. null
or both operands are undefined
, return true
. NaN
, return false
.+0
and -0
are considered to be the same value. true
or both false
.==
] operator is that if the operands are of different types, the ==
operator attempts to convert them to the same type before comparing. Examples
Comparing operands of the same type
console.log["hello" === "hello"]; // true
console.log["hello" === "hola"]; // false
console.log[3 === 3]; // true
console.log[3 === 4]; // false
console.log[true === true]; // true
console.log[true === false]; // false
console.log[null === null]; // true
Comparing operands of different types
console.log["3" === 3]; // false
console.log[true === 1]; // false
console.log[null === undefined]; // false
Comparing objects
const object1 = {
name: "hello"
}
const object2 = {
name: "hello"
}
console.log[object1 === object2]; // false
console.log[object1 === object1]; // true
Specifications
ECMAScript Language Specification # sec-equality-operators |
Browser compatibility
BCD tables only load in the browser
See also
What is = in JavaScript?
Equal to [=] is an assignment operator, which sets the variable on the left of the = to the value of the expression that is on its right. This operator assigns lvalue to rvalue.
For example, Writing a=10 is fine. If we write 10=10, ‘a’ = 10 or ‘a’ = ‘a’, it will result in a reference error.
In this tutorial, you will learn:
- What is = in JavaScript?
- What is == in JavaScript?
- What is === in JavaScript?
- Why use = in JavaScript?
- Why use == in JavaScript?
- How === Works Exactly?
- Example of =
- Example of ==
- Example of ===
- = Vs == VS === in JavaScript
What is == in JavaScript?
Double equals [==] is a comparison operator, which transforms the operands having the same type before comparison.
So, when you compare string with a number, JavaScript converts any string to a number. An empty string is always converts to zero. A string with no numeric value is converts to NaN [Not a Number], which returns false.
What is === in JavaScript?
=== [Triple equals] is a strict equality comparison operator in JavaScript, which returns false for the values which are not of a similar type. This operator performs type casting for equality. If we compare 2 with “2” using ===, then it will return a false value.
Why use = in JavaScript?
Here are the important uses of = in JavaScript:
= JavaScript operator assigns a value to the left operand depends on the value of operand available on the right side. The first operand should be a variable.
The basic assignment operator is =, that assigns the value of one operand to another. That is, a = b assigns the value of b to a.
Why use == in JavaScript?
Here are the important uses of == in JavaScript:
The == operator is an equality operator. It checks whether its two operands are the same or not by changing expression from one data type to others. You can use == operator in order to compare the identity of two operands even though, they are not of a similar type.
How === Works Exactly?
- Strict equality === checks that two values are the same or not.
- Value are not implicitly converted to some other value before comparison.
- If the variable values are of different types, then the values are considered as unequal.
- If the variable are of the same type, are not numeric, and have the same value, they are considered as equal.
- Lastly, If both variable values are numbers, they are considered equal if both are not NaN [Not a Number] and are the same value.
Example of =
In the below program, there are two variables “a” and “b”. We are adding and printing their values using a third variable, “c”. The sum of the value of variable “a” and “b” is 7. Therefore, the output is 7.
JavaScript Operators
a = 2, b = 5, calculate c = a + b, and display c:
var a = 2; var b = 5; var c= a + b; document.getElementById["demonstration"].innerHTML = c;
Output:
a = 2, b = 5, calculate c = a + b, and display c:
7
Example of ==
In the below program, we have declared one variable “a” having value 10. Lastly, the statement a == 20 returns false as the value of a is 10.
var a = 10; document.getElementById["demonstration"].innerHTML = [a == 20];
Output:
false
Example of ===
In the below program, the value of variable x is 10. It is compared to 10 written in double-quotes, which is considered as a string, and therefore, the values are not strictly the same. The output of the program is false.
var x = 10; document.getElementById["demo"].innerHTML = [x === "10"];
Output:
false
= Vs == VS === in JavaScript
Here are the important differences between =, ==, and ===
= in JavaScript is used for assigning values to a variable. | == in JavaScript is used for comparing two variables, but it ignores the datatype of variable. | === is used for comparing two variables, but this operator also checks datatype and compares two values. |
It is called as assignment operator | It is called as comparison operator | It is also called as comparison operator |
The assignment operator can evaluate to the assigned value | Checks the equality of two operands without considering their type. | Compares equality of two operands with their types. |
It does not return true or false | Return true if the two operands are equal. It will return false if the two operands are not equal. | It returns true only if both values and data types are the same for the two variables. |
= simply assign one value of variable to another one. | == make type correction based upon values of variables. | === takes type of variable in consideration. |
== will not compare the value of variables at all. | The == checks for equality only after doing necessary conversations. | If two variable values are not similar, then === will not perform any conversion. |
KEY DIFFERENCES:
- = is used for assigning values to a variable, == is used for comparing two variables, but it ignores the datatype of variable whereas === is used for comparing two variables, but this operator also checks datatype and compares two values.
- = is called as assignment operator, == is called as comparison operator whereas It is also called as comparison operator.
- = does not return true or false, == Return true only if the two operands are equal while === returns true only if both values and data types are the same for the two variables.