Я возвращаюсь к основам JavaScript! Есть один вопрос, с которым я сталкивался примерно в 90% своих интервью. Возникает вопрос: «В чем разница между двойным и тройным равенством в JavaScript?».

Давай поговорим об этом!

Оператор свободного равенства (==,! =)

Этот оператор вернет true, если два значения равны. Перед тем как провести сравнение, он преобразует значения в один и тот же тип. Это означает, что если вы сравниваете число и строку, он сначала преобразует строку в число, а затем сравнивает значения.

Пример:

24 == 24 
// true
24 == '24'
//true 

! = действует аналогичным образом, но возвращает true, если два значения не равны.

Пример :

24 != '24'
// false
24 != 25
// true
24 != '25'
//true

Оператор строгого равенства (===,! ==)

Оператор строгого равенства не завершит преобразование типа до сравнения двух значений. Это означает, что если вы попытаетесь сравнить целое число и строку, оно вернет false. Давайте рассмотрим несколько примеров.

Используя ===:

22 === 22
//true 
22 === '22'
// false

Строгое неравенство действует так же, за исключением того, что возвращает истина, если два значения не равны. Он также не завершит разговор о типах перед оценкой.

22 !== 22
//false 
22 !== 20
// true
22 !== '22'
// true

Каждый раз, когда я объясняю разницу между этими двумя сравнениями на равенство, я привожу простой пример. Это полезно, поскольку я верю (или надеюсь), что показывает, что я понимаю концепцию, даже если я, возможно, нервничал во время интервью и забыл определенные ключевые слова или наткнулся на определение.

Я всегда использую следующий пример:

1 === '1'
// false 
 1 == 1
//true

Процесс собеседования продолжается!