DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’»

DEV Community πŸ‘©β€πŸ’»πŸ‘¨β€πŸ’» is a community of 968,547 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Create account Log in
Cover image for JavaScript Loose Equality vs Strict Equality check
Swastik Yadav
Swastik Yadav

Posted on

JavaScript Loose Equality vs Strict Equality check

Hello Everyone!

In this post we will explore the difference between JS loose equality (==) and strict equality (===) check.

Here is the simplest definition

  • Loose equality (==) checks for value only.
  • Strict equality (===) checks for value as well as DataType.

But wait, there is something more to it. Let's understand the workings of both of them one by one.

Strict Equality (===)

Strict equality first checks for DataType, If datatype is same then it checks for value, else it returns false.

Ex:

console.log("55" === 55);
// false - Because datatype is different even though value is same.
Enter fullscreen mode Exit fullscreen mode

strict-equality

Loose Equality (==)

Loose equality works similar to strict equality. The only difference is that in loose equality if datatype is different, it performs an Implicit type conversion and then compares the value.

Ex:

console.log("55" == 55);
// true - Because implicit conversion will change string "55" to number 55 then compare value.
Enter fullscreen mode Exit fullscreen mode

loose-equality

If you enjoyed or found this post helpful, please consider joining my weekly Newsletter below.

Thank You for reading.


I am starting a NewsLetter where I will share epic content on building your skillset. So, if this sounds interesting to you, subscribe here: https://www.getrevue.co/profile/8020lessons

Top comments (1)

Collapse
 
lukeshiru profile image
Luke Shiru

Worth mentioning that you should avoid ==. You can achieve this having linting rules such as eqeqeq to enforce the === and !== operators.

What image format should you use in your next project? πŸ€”