Изучающие программирование часто удивляются: почему функция «возвращает» результат? Почему именно такое странное слово — «возврат»? Как будто мы сначала даём ей результат, а потом она его возвращает обратно.
Понятно, что это не так. Мы даём функции аргументы (а иногда и вообще не даём ничего), а она даёт нам в ответ какую-то информацию… А иногда не даёт! Тогда мы говорим «она ничего не возвратила».
Странно!
Дело в том, что return
означает не возврат информации, а возврат управления.
При вызове функции текущий код становится на паузу и передаёт управление в функцию. Функция делает свои дела и возвращает управление в то место, где происходил вызов. И заодно может отправить какую-то информацию туда.
Что за управление? Управление той штукой, которая исполняет код. Грубо говоря — управление компьютером. Код передаёт функции пульт управления компьютером, а функция потом возвращает его обратно.
const sum = (a, b) => {
const answer = a + b;
return answer;
}
Мы привыкли читать подобный код как «функция возвращает значение answer
», но правильнее будет читать «функция возвращает управление в место вызова и отправляет туда значение answer».
Именно поэтому внутри функции возможен такой код:
...
return;
...
Здесь функция не «возвращает ничего», а «возвращает управление в место вызова и не отправляет туда никакую информацию».
Конечно, такая формулировка хоть и технически более корректна, в реальной жизни нет смысла отказываться от «возвращает значение». Это, можно сказать, общепринятое сокращение.
Полезная информация Начните изучать разработку с бесплатного курса «Основы современной вёрстки». Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.