Comparison of datatypes in JS

Comparison of datatypes in JS

Table of contents

No heading

No headings in the article.

In JavaScript, the equality check (==) and comparison operator (>, >=) function differently, particularly when dealing with null values.

console.log(null > 0); //outputs: false
console.log(null == 0); //outputs: false
console.log(null >= 0); //outputs: true

When using the comparison operator (>, >=), null is converted into a number, treating it as 0. Hence, when we evaluate null > 0, it returns false, as null is not greater than 0. However, when we evaluate null >= 0, it returns true, as null is treated as 0, and 0 is indeed greater than or equal to 0.

On the other hand, the equality check (==) does not perform type coercion in the same way. When comparing null == 0, it returns false, as null and 0 are of different types and not considered equal in this context.

Similarly with undefined

console.log(undefined >= 0);
console.log(null > 0);
console.log(null == 0);

For undefined, the comparison undefined >= 0, undefined == 0, undefined > 0, yields false. This result occurs because undefined is not converted into a number and thus cannot be directly compared to 0, leading to a false outcome.