Возврат значения

Возврат значения

Coursme
8 мин.
22 янв. 2024

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

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

Функция в JavaScript может возвращать результат, который передается в вызывающий ее код. Примером может служить функция сложения двух чисел:

function sum(a, b) {
 return a + b;
}
let result = sum(1, 2);
alert(result); // Выведет: 3

Директива return может находиться в любом месте тела функции. Как только выполнение доходит до этого места, функция завершает свое выполнение, и значение возвращается в вызывающий код (присваивается переменной result в приведенном примере).

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

function checkAge(age) {
 if (age >= 18) {
   return true;
 } else {
   return confirm('А родители разрешили?');
 }
}
let age = prompt('Сколько вам лет?', 18);
if (checkAge(age)) {
 alert('Доступ получен');
} else {
 alert('Доступ закрыт');
}

Также возможен случай, когда return используется без значения. Это приводит к немедленному выходу из функции:

function showMovie(age) {
 if (!checkAge(age)) {
   return;
 }
 alert("Вам показывается кино"); // (*)
 // ...
}

Если checkAge(age) возвращает false, выполнение функции showMovie прекращается до строки с комментарием (*).

Важно отметить, что если функция не возвращает значения явно, это равнозначно возвращению undefined:

function doNothing() { /* пусто */ }
alert(doNothing() === undefined); // true

Также в тексте отмечается важность избегать добавления перевода строки между return и возвращаемым значением. В противном случае, интерпретатор JavaScript может автоматически добавить точку с запятой после return, что сделает его эквивалентным return; и вернет undefined. Если требуется использовать несколько строк, старайтесь начинать выражение на той же строке, что и return, либо используйте открывающую скобку.

Использование return без значения

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

function logMessage(message) {
 console.log(`Log: ${message}`);
 return; // не возвращает значения
}

Применение return для завершения функции

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

function checkPermission(user) {
 if (!user.isAdmin) {
   return "Доступ запрещен"; // завершение функции, если пользователь не является администратором
 }
 // код, который не выполнится для обычных пользователей
}

Важное замечание:При использовании return с пустым значением или без него важно помнить, что это может привести к трудностям при отладке кода. Возвращаемое значение undefined может быть воспринято как отсутствие явного результата, и это следует учитывать при взаимодействии с вызывающим кодом. Рекомендуется явно указывать return undefined;, если необходимо вернуть именно undefined.

Обработка нескольких return в функции

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

function checkNumber(num) {
 if (num > 0) {
   return "Положительное число";
 }
 return "Отрицательное или ноль";
}

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

Заключение

В этом уроке мы подробно изучили механизм возврата значений из функций в JavaScript. Мы рассмотрели простые примеры использования оператора return, обратили внимание на возможность множественных return в функции и даже на сценарии, когда return применяется без явного значения.

Важным аспектом оказалось замечание о том, что при использовании return без значения следует явно указывать возвращение undefined, что способствует более ясному пониманию кода и избеганию потенциальных трудностей при отладке.

Назад
Следующий тест
Комментарии
Чтобы оставлять комментарии — надо авторизоваться
Комментариев еще нет
Будьте первым
Главная
Курсы
Блог
Меню