Возвращаемое значение

Функция может возвращать результат с помощью оператора return. Это значение передаётся обратно в место, откуда функция была вызвана.

function calculateDiscount(price, discountPercent) {
  return price - (price * discountPercent / 100);
}

const finalPrice = calculateDiscount(1000, 15);
console.log(finalPrice); // 850

Здесь return отправляет вычисленную сумму обратно в переменную finalPrice.

Если в функции нет return, она возвращает undefined:

function logMessage(message) {
  console.log(message);
}

const result = logMessage('Привет');
console.log(result); // undefined

Даже если функция что-то делает — например, выводит в консоль — она не возвращает ничего, если не указан return.

Ранний выход из функции

return можно использовать для преждевременного завершения работы функции — это полезно для проверки условий.

Пример: проверка наличия данных перед обработкой

function updateUserProfile(userData) {
  if (!userData || !userData.name) {
    return; // выход, если данные не переданы или нет имени
  }

  // Эта часть выполнится только если условия выше не сработали
  console.log('Обновление профиля для:', userData.name);
  // ... логика обновления
}

updateUserProfile(); // ничего не делает, функция завершается на return
updateUserProfile({ name: 'Анна' }); // обновление профиля

Такой подход упрощает код: вы не пишете вложенные if-else, а сразу отсеиваете невалидные случаи.

Пример: проверка авторизации перед загрузкой данных

function loadUserSettings() {
  if (!userIsAuthenticated) {
    return; // не продолжаем, если пользователь не авторизован
  }

  const settings = api.getSettings();
  updateUI(settings);
}

Здесь return предотвращает выполнение дорогостоящих операций — обращение к API, обновление интерфейса — если это бессмысленно. Это улучшает производительность и снижает риск ошибок.