@vadimm0s

Почему используются сравнения «задом наперед», например, false == obj.prop.subProp?

Часто встречаю, особенно во всевозможных проверках, в стороннем коде конструкции типа
false == obj.prop.subProp
или
1 == arr[8]
и т.п.
Вроде, как нормальный, воспринимается порядок "что" == "с чем" или "переменная" == "константа". Почему
иногда используются сравнения "задом наперед", например false == obj.prop.subProp?
  • Вопрос задан
  • 319 просмотров
Решения вопроса 3
samodum
@samodum
Какой вопрос - такой и ответ
Это называется Yoda-style.
true/false переменной по ошибке случайно не присвоить чтобы.
Слева значение это будет в условии если, компиляции на стадии ошибку получишь ты.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Это защита от стрельбы себе в ногу при использовании убогих систем.

if(x=1) прокатит вместо if(x==1), а вот if(1=x) отвалится почти везде
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
netpastor
@netpastor
Python developer
Сути по значения не имеет, юный падаван
Но пишет так кто - к темной стороне силы уже близок он
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы