Blog / April 24, 2023 / 2 mins read / By Suneet Agrawal

Equality ('=' vs '==' vs '===') in JavaScript

In JavaScript, there are three types of equality operators: =, ==, and ===. Each of these operators has a different purpose and can lead to different results when used. Understanding the differences between these operators is essential for writing efficient and reliable code in JavaScript.


= Operator in JS

The = operator is used for assigning values to variables. It is called the assignment operator. When using the = operator, the value on the right side of the operator is assigned to the variable on the left side.

For example:
var x = 5; 

This assigns the value of 5 to the variable x.


== Operator in JS

The == operator is used for checking equality between two values. It is called the loose equality operator. When using the == operator, JavaScript performs type coercion to compare the values. Type coercion is the process of converting one data type to another data type.

For example:

console.log(5 == '5'); // true

Here, the == operator compares the values 5 and '5'. Even though they are of different data types (one is a number and the other is a string), JavaScript performs type coercion and returns true.


=== Operator in JS

The === operator is used for checking strict equality between two values. It is called the strict equality operator. When using the === operator, JavaScript compares the values and their data types. If the values and data types are the same, the operator returns true. If the values or data types are different, the operator returns false.

For example:

console.log(5 === '5'); // false

Here, the === operator compares the values 5 and '5'. Since they are of different data types, JavaScript returns false.


When to use which operator?

  • It is recommended to use the === operator whenever possible because it ensures strict equality checking and avoids unexpected results due to type coercion.
  • The == operator can be used when type coercion is needed or when comparing values of the same data type.
  • The = operator is used for assigning values to variables and should not be confused with the equality operators.

Conclusion

In conclusion, understanding the differences between the =, ==, and === operators in JavaScript is essential for writing reliable and efficient code. The = operator is used for assignment, the == operator is used for loose equality checking, and the === operator is used for strict equality checking.


Comments