DEV Community

Discussion on: Avoid boolean values comparison with "==" in JavaScript

Collapse
 
deen_john profile image
Deen John • Edited

For unequal types, "==" operator would first coerce the values to Number types

Inputs :

A =10, is number type,
B =true, is boolean type

Code: Which block will run?

if(A == true) {
console.log("if block")
} else {
console.log("else block")
}

Reasoning :

For unequal types, "==" operator would first coerce the values to Number types

"==" would do this coercion A === ToNumber(B)

ToNumber(B) ie ToNumber(true) results in 1

10 === 1 ?

Answer is : "else block" will be printed on console

developer.mozilla.org/en-US/docs/W...