@kirill-93

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

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

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

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

В 2018 в пхп принято использовать строгое сравнение. а еще strict_types, тайпхинты и версию 7.1+.
Ответ написан
Комментировать
Acuna
@Acuna
Заполнил свой профиль
На самом деле все на удивление просто:

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

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

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