Ответ
В JavaScript == — это нестрогое равенство (с приведением типов), а === — строгое равенство (без приведения типов).
Пример:
console.log(5 == '5'); // true (строка '5' приводится к числу 5)
console.log(5 === '5'); // false (разные типы: number vs string)
console.log(null == undefined); // true (специальное правило)
console.log(null === undefined); // false (разные типы)
Для QA-инженера это критически важно:
===(строгое равенство) используется практически всегда в тестах (например, в Jest, Mocha). Это предотвращает скрытые баги из-за неявного преобразования типов и делает проверки предсказуемыми.==(нестрогое равенство) может использоваться осознанно в редких случаях, например, для проверки наnullилиundefinedодновременно (if (value == null)).
Практическое правило в тестировании: В assertions всегда используйте toBe (в Jest) или strictEqual (в Node.js assert), которые работают по принципу строгого равенства (===), чтобы избежать ложноположительных результатов.