== vs === in JavaScript

  • Share this:

In JavaScript, `==` and `===` are comparison operators that are used to test whether two values are equal.

The `==` operator performs a type coercion, which means that it converts the operands to the same type before making the comparison. For example, if you compare the number `1` and the string `'1'` using the `==` operator, the comparison will evaluate as `true` because the string is converted to a number before the comparison.

console.log(1 == '1'); // Output: true

On the other hand, the `===` operator does not perform any type of coercion. It compares the operands for both value and type, and it returns `true` only if both operands are of the same type and have the same value.

console.log(1 === '1'); // Output: false

In general, it is recommended to use the `===` operator instead of the `==` operator, because the `==` operator can lead to unexpected results due to type coercion. However, there are certain cases where the `==` operator can be useful, such as when you want to test for `null` or `undefined` values.

console.log(null == undefined); // Output: true

It is worth noting that both `==` and `===` have their own negated versions: `!=` and `!==`, respectively. These operators return true if the operands are not equal, and `false` if they are equal.


About author
I am a professional web developer. I love programming and coding, and reading books. I am the founder and CEO of StorialTech.