Вопрос №41 от пользователя Daniel Newman в уроке «Регулярные выражения в JavaScript», курс «Введение в Javascript»
Очень красивая конструкция вида:
while ( (arr = reg.exec(input)) != null ) {}
Т.е. тут рассказывается, что само присвоение значения переменой как бы возвращает ее состояние, которое немедленно может стать аргументом операции булево сравнения?
Ну, это тоже хочется понять: хорошо так делать или нет?
Достаточно опасная конструкция, если забыть скобки на присвоение, то легко можно наткнуться на не тот приоритет.
В некоторых языках даже запрещено присвоение в подобного рода конструкциях, например в python. А в функциональных так вообще нельзя).
А еще это сложнее отлаживать, если возникнет необходимость посмотреть "почему выполнилось/не выполнилось" то залогировать переменную будет невозможно, все равно придется выносить.
Используйте Хекслет по максимуму!
- Задавайте вопросы по уроку
- Проверяйте знания в квизах
- Проходите практику прямо в браузере
- Отслеживайте свой прогресс
Зарегистрируйтесь или войдите в свой аккаунт
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.







