Страницы

Поиск по вопросам

среда, 29 января 2020 г.

Является ли тождественным сравнение?

#javascript


Привет. Является ли сравнение 
0 !== someElement.length
и
someElement.length !== 0 тождественным?

И почему существует два типа таких записей? 
    


Ответы

Ответ 1



Можно писать и так и так — разницы нет. 0 !== someElement.length называется Условия Йоды. Обычно это применяют в условиях равенства, а не неравества, т.е. например 0 == someElement.length А пишут так потому, что легко забыть дописать два раза = и в итоге в условии получалось вместо if (someElement.length == 0) { ... вот так if (someElement.length = 0) { ... В итоге, вместо сравнения получалось присваивание. Ошибки, конечно же, не выскакивало, ибо валидное выражение и программа отрабатывала, но не так как планировалось. При условии if (0 = someElement.length) { ... возникнет ошибка (ибо нельзя константе что-то присвоить), которую сразу можно пофиксить. А остальное уже как единообразие стиля.

Комментариев нет:

Отправить комментарий