Возвращаемое значение
Функция может возвращать результат с помощью оператора 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, обновление интерфейса — если это бессмысленно. Это улучшает производительность и снижает риск ошибок.