Операторы равенства
let a = 5;
let b = "5";
// Нестрогое сравнение (==) - сравнивает значения с приведением типов
console.log(a == b); // true (5 равно "5" после преобразования)
console.log(0 == false); // true
console.log("" == false); // true
console.log(null == undefined); // true
// Строгое сравнение (===) - сравнивает значения БЕЗ приведения типов
console.log(a === b); // false (number !== string)
console.log(0 === false); // false (number !== boolean)
console.log(null === undefined); // false
// Неравенство
console.log(a != b); // false (нестрогое)
console.log(a !== b); // true (строгое)Операторы больше/меньше
let x = 10;
let y = 5;
console.log(x > y); // true
console.log(x < y); // false
console.log(x >= y); // true (больше или равно)
console.log(x <= y); // false
// Строки сравниваются посимвольно в лексикографическом порядке
console.log("а" > "я"); // false (Unicode порядок)
console.log("abc" > "abd"); // false (сравнивается посимвольно)
// Особые случаи
console.log("2" > 1); // true (строка "2" преобразуется в число)
console.log("01" == 1); // true
console.log(true == 1); // true
console.log(false == 0); // true