Почему используются сравнения «задом наперед», например, false == obj.prop.subProp? Часто встречаю, особенно во всевозможных проверках, в стороннем коде конструкции типа
false == obj.prop.subProp
или
1 == arr[8]
и т.п.
Вроде, как нормальный, воспринимается порядок "что" == "с чем" или "переменная" == "константа". Почему
иногда используются сравнения "задом наперед", например false == obj.prop.subProp?

21 Авг 2019 в 06:19
288 +1
0
Ответы
1

Есть несколько причин, по которым разработчики могут использовать такой порядок в сравнениях:

Избежание ошибок присваивания: если по ошибке использовать одиночный знак равенства вместо двойного, компилятор выдаст ошибку, если использовать константу или литерал слева от оператора сравнения. Например, если написать if (a = 10) вместо if (a == 10), компилятор выдаст ошибку на этапе компиляции. Однако, если написать if (10 = a), компилятор такую ошибку не выдаст, поскольку нельзя присваивать значение константе или литералу.

Облегчение чтения кода: некоторым разработчикам такой порядок сравнения кажется более читабельным или понятным. Например, false == obj.prop.subProp может быть проще прочитать и понять, чем obj.prop.subProp == false.

Рекомендации линтеров: некоторые инструменты статического анализа кода могут предлагать или требовать использование порядка "значение == переменная" вместо "переменная == значение" для более безопасного кода и предотвращения ошибок.

Таким образом, хотя порядок сравнения "задом наперед" может показаться странным, в некоторых случаях он может быть предпочтителен из-за безопасности или удобства написания кода.

20 Апр в 13:20
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 852 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир