console.log(2 == true); // false
console.log(2 ? true : false); // true
Слабая типизированность языка JavaScript подразумевает приведение обеих переменных к одному типу для того, чтобы произвести сравнение.
console.log(2 == true); // false. int boolean
console.log(!!2 == true); // true. boolean boolean
console.log(2 ? true : false); // true. boolean