@kirill-93

Почему в js и в php по-разному сравнивают переменные?

В JS принято сравнивать переменные строго (===), об этом говорят во всех учебниках, phpstorm ругается на '==' и в принципе это правильно. А вот в PHP очень редко можно встретить '===', чаще люди пишут '=='. Об этом опять же не говорят на курсах и тот же phpstorm не ругается.
В чем разница? Языки ведь одинаковые - с динамической слабой типизацией.
UPD: я не спрашиваю в чем разница между '==' и '===', я спрашиваю почему в двух одинаковых языках принято по-разному.
  • Вопрос задан
  • 532 просмотра
Пригласить эксперта
Ответы на вопрос 4
А вот в PHP очень редко можно встретить '===', чаще люди пишут '=='.

Сильное заявление. Проверять я его конечно не буду.

почему в двух одинаковых языках принято по-разному.

В 2018 в пхп принято использовать строгое сравнение. а еще strict_types, тайпхинты и версию 7.1+.
Ответ написан
BojackHorseman
@BojackHorseman Куратор тега PHP
...в творческом отпуске...
потому что при сравнении по разному приводятся типы.

и вообще это разные операции, а не способ избежать выстрела себе в ногу
Ответ написан
Acuna
@Acuna
Заполнил свой профиль
На самом деле все на удивление просто:

1) Из-за динамической типизации и логичного кода PHP отлично заходит у новичков со всеми вытекающими, а так как они самоучки, очевидно они скорее всего никогда не слышали о том, что нужно сравнивать переменные строго, плюс PHP не ругается, поэтому зачем писать ===, когда можно написать просто ==?
2) Из-за той же динамической типизации PHP особо не важно что и с чем сравнивать, он все приводит на лету к чему надо, ибо если бы этого не происходило, то все бы падало на каждом шагу, ибо С (на чем он написан) - параноик на типы данных, поэтому === - это по сути просто заглушка.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы