Ответ 1
Это условия yoda:
Условия Yoda так называются, потому что буквальное значение условия наступает первым, а переменная занимает второе место. Например, следующее условие Йоды:
if ("red" === color) {
// ...
}
Это называется условием Йоды, потому что оно читается как "красный цвет", подобно тому, как говорит персонаж "Звездных войн" Йода. Сравните с другим способом расположения операндов:
if (color === "red") {
// ...
}
Обычно это означает, что "цвет красный", что, возможно, является более естественным способом описания сравнения.
Сторонники условий Йоды подчеркивают, что ошибочно использовать = вместо ==, потому что вы не можете назначить буквальное значение. Это приведет к синтаксической ошибке, и вы будете проинформированы об ошибке на ранней стадии. Поэтому эта практика была очень распространена в раннем программировании, где инструменты еще не были доступны.
Противники условий Йоды указывают, что инструменты сделали нас лучшими программистами, потому что инструменты поймают ошибочное использование = вместо == (ESLint поймает это для вас). Поэтому, утверждают они, полезность шаблона не перевешивает читаемость, попадающую в код при использовании условий Yoda.