В чем разница между `==`
и `===`
?
== — это оператор абстрактного сравнения, а === — оператор строгого сравнения. Оператор == будет сравнивать на равенство после выполнения любых необходимых преобразований типов. Оператор === не будет выполнять преобразование типов, поэтому, если два значения не одного типа, === просто вернет false. При использовании == могут происходить такие странные вещи, как:
1 == '1'; // true
1 == [1]; // true
1 == true; // true
0 == ''; // true
0 == '0'; // true
0 == false; // true
Мой совет — никогда не используйте оператор ==, за исключением удобного сравнения с null или undefined, где выражение a == null вернет true, если a принимает значение null или undefined .
var a = null;
console.log(a == null); // true
console.log(a == undefined); // true
@frontendInterview