17

Разница между == и === в JavaScript

13

Описание проблемы для StackOverflow.com

Я столкнулся с вопросом, касающимся операторов сравнения в JavaScript. В чем разница между операторами <code>==</code> и <code>===</code>? Я также заметил, что существуют операторы <code>!=</code> и <code>!==</code>. Существуют ли еще похожие операторы? Хотелось бы получить разъяснение по этой теме, так как мне не совсем понятно, когда и как использовать каждый из них.

1 ответ(ов)

20

Смотрите здесь: http://longgoldenears.blogspot.com/2007/09/triple-equals-in-javascript.html

Три равных знака означают "равенство без преобразования типов". При использовании тройного равенства значения должны быть равны и по типу.

0 == false   // true
0 === false  // false, потому что они различного типа
1 == "1"     // true, автоматическое преобразование типа только для значения
1 === "1"    // false, потому что они различного типа
null == undefined // true
null === undefined // false
'0' == false // true
'0' === false // false

Таким образом, оператор === обеспечивает более строгую проверку, что особенно полезно для избежания неожиданных результатов при сравнении значений.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь