Вопрос №55789 от пользователя Анастасия в уроке «Условия и принятия решений», курс «Введение в программирование»

Анастасия

Вопрос номер 11: изменится ли функциональность если вынести else за скобки if

const func = (num) => {
  if (num > 0) {
    return num - 1;
  } else {
    return num + 1;
  }
};
const func = (num) => {
  if (num > 0) {
    return num - 1;
  }

  return num + 1;
};

Почему правильный ответ "нет" если все кардинально меняется? Допустим у нас число 5, в первом случае оно выводится 1 раз тк конструкция if верна, а во втором случае оно выводится 2 раза? Или я ошибаюсь?

2 0

Николай Здоров

Анастасия, "if " указывает направление для выполнения кода, если в if условие равно true, то функция завершается, выполняя возврат(return) , который был в этом if ! Если условие в if равно false , то далее проверяется следующее условие или как в данном случае выполняется глобальное return! Тоесть хоть есть else хоть нету функция будет работать одинаково!

0

Maksim Litvinov

Анастасия, ребята правильно вам объяснили. В этом случае использовать else не обязательно. Его отсутствие не изменит функциональность. Более того, второй вариант более правильный с точки зрения стиля кодирования. Если внутри else есть return, то при выполнении условия он вернет результат и прервет выполнение функции. В этом случае else избыточен

0

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
25 мая 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
25 мая 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
25 мая 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
25 мая 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
25 мая 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
25 мая 5 месяцев