if работает с == и ===

Mikle

Client
Регистрация
31.01.2017
Сообщения
162
Благодарностей
131
Баллы
43
Здравствуйте

https://zennolab.com/wiki/ru:logic

по вики сказано что для сравнения в if равно == работает, но почему то и с === равно тоже работает, почему? есть ли отличия == от === ? может ли в каких то случаях неверно сравнивать или наоборот в каких то случаях работает только === ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 461
Благодарностей
8 686
Баллы
113
Здравствуйте

https://zennolab.com/wiki/ru:logic

по вики сказано что для сравнения в if равно == работает, но почему то и с === равно тоже работает, почему? есть ли отличия == от === ? может ли в каких то случаях неверно сравнивать или наоборот в каких то случаях работает только === ?
Правильно именно с двумя знаками: ==
То что с тремя тоже работает, это небольшая недоработочка, видимо.
 

Mikle

Client
Регистрация
31.01.2017
Сообщения
162
Благодарностей
131
Баллы
43

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 373
Благодарностей
3 297
Баллы
113
Экшен if на самом деле, кубик для выполнения js кода. Если вызвать функцию, логика которой возвращает true - то пойдёт по зелёной, если false - то по красной.

В js же == допускает сравнение разных объектов (строк, чисел, булёвых), а === является более строгим сравнением.

Например:
Код:
"{-Variable.test-}" == 5; // true - строка "5" и число 5
"{-Variable.test-}" === 5; // false - строка и число совсем разные объекты
 
Последнее редактирование:
  • Спасибо
Реакции: Koqpe, Mikle и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 461
Благодарностей
8 686
Баллы
113

Mikle

Client
Регистрация
31.01.2017
Сообщения
162
Благодарностей
131
Баллы
43
Экшен if на самом деле, кубик для выполнения js кода. Если функция возвращает true - то ok, если false - то false.:-)

В js же == допускает сравнение разных объектов (строк, чисел, булёвых), а === является более строгим сравнением.

Например:
Код:
"{-Variable.test-}" == 5; // true - строка "" и число 5
"{-Variable.test-}" === 5; // false - строка и число совсем разные объекты
Спасибо!!!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)