JavaScript Struggles — Part 4 | Comparing

Abdelrahman Dwedar
2 min readDec 5, 2022

--

Here we go again!

This one is very easy but we all have to know it, you may already hear about it somewhere else too.
If you weren’t familiar with JS’s comparing way keep going. If you’re then this post is not for you. 😊👏🏻

There are two ways of comparing variables in JavaScript:

  • Two Equal Signs (==)
  • Three Equal Signs (===)

Two Equal Signs (==)

Most majority of programming languages used == as the one and only comparing operator, but in JavaScript we're special. 😏

== is only comparing the value of the variable, ignoring the data type of it; so if there's a number that is equal to a number inside the string it'll always be true.

E.g.

console.log('0' == 0); // Outputs: true

console.log(1 == true); // Outputs: true

The data type of the variable will not be changed after the comparison

Some of Its Uses
We can use it to check if the number is not 0 or an empty string.

let num = 0;
let word = "";

console.log(num == true); // Outputs: false
console.log(word == true); // Outputs: false
num = 5;
word = "Hey!";
console.log(num == true); // Outputs: true
console.log(word == true); // Outputs: true

Three Equal Signs (===)

We use this as the normal comparing operator, that’s only working with JavaScript, TypeScript, and PHP.

What === actually does is that it compares the value and the data type.

E.g.

console.log("0" === 0); // Outputs: false

/* They must be of the same data type. */
console.log("0" === "0"); // Outputs: true

=== is the most used one. Probably because it's the easy way of comparing and we all understand it even if JavaScript wasn't your first language.

Thanks for reading! 😌

I hope this may be helpful to someone.

--

--

Abdelrahman Dwedar

Software developer & web full stack developer. I write about software and programming mostly.