Добрый вечер.Начал изучать js.Чем отличается 5 == 5 от 5 === 5 ?Они оба возвращают true . Или 5!= 4 и 5!== 4 тоже true.Какой где правильнеее использовать?
Asked
Active
Viewed 1,340 times
0
elik
- 5,658
1 Answers
2
== при сравнении выполняет приведение типов
=== при сравнении только сравнивает не преобразуя значение одного типа к другому
Примеры:
console.log(true == 1);
console.log(true === 1);
результатом первого выражения будет true, потому что перед сравнением производится преобразование true -> 1, а затем сравниваются 1 и 1 соовтетственно результатом будет true
результатом второго выражения будет false, потому что перед сравнением НЕ производится преобразование true -> 1, а сравниваются true и 1, соовтетственно результатом будет false, т.к. число не равно логическому значению.
tilin
- 2,840
-
2производится преобразование 1 -> true, а затем сравниваются true и true - не угадал. Сравниваются в итоге 1 и 1 – Grundy Oct 17 '17 at 18:22
-
опечатка: результатом >первого< выражения будет true и результатом >первого< выражения будет false – Tomas Oct 17 '17 at 18:25
-
==сравнивает приведенные значения,===сравнивает с учетом типа. Т.е.true==1вернетtrue, аtrue===1вернетfalse– rjhdby Oct 17 '17 at 18:09==– Гончаров Александр Oct 17 '17 at 19:24ааа поняяятно. тогда лучше про == в js забыть)не вздумайте если хотите понятного кода, и меньше багов. – Гончаров Александр Oct 17 '17 at 19:25