Используйте return , чтобы указать значение, которое функция должна выдать в качестве конечного результата. Когда интерпретатор достигает оператора return , функция, содержащая этот оператор, немедленно завершает работу, и указанное значение возвращается в контекст, в котором была вызвана функция:
const myFunction = function() {
   return 2 + 2;
}
myFunction();
> 4
Функцию, возвращающую значение, можно эффективно рассматривать как содержащиеся в ней данные, подобно переменной:
const myFunction = function() {
   return 2 + 2;
}
myFunction() + myFunction();
> 8
 Оператор return без выражения завершает функцию и возвращает undefined :
const myFunction = function() {
   return;
}
myFunction();
> undefined
 Поскольку ключевое слово return сигнализирует об окончании функции, любой код, следующий за полученным return , не выполняется:
const myFunction = function() {
   return true;
   console.log( "This is a string." );
}
myFunction();
> true
 Кроме того, код, следующий за встретившимся оператором return , может привести к предупреждению (но не ошибке) в консолях разработки некоторых браузеров:
const myFunction = function() {
   return true;
   console.log( "This is a string." );
}
> unreachable code after return statement
myFunction();
> true
 Опять же, это относится только к оператору return , встречающемуся во время выполнения функции, а не к любому коду, который следует за оператором return последовательно:
const myFunction = function( myParameter ) {
   if( myParameter === undefined ) {
    return "This is the result.";
   }
   return "This is the alternate result.";
}
myFunction();
> "This is the result."
myFunction( true );
> "This is the alternate result."
 «Короткое замыкание» функции с использованием раннего return может обеспечить более краткий код, чем один оператор return в конце функции. Например, следующая функция определяет, является ли переданное значение строкой, содержащей пять или более символов. Если переданное значение не является строковым литералом, код, подсчитывающий символы, не нужен, и функция может немедленно вернуть false результат:
function myFunction( myString ) {
   if( typeof myString !== "string" ) {
    return false;
   }
   if( myString.length >= 5 ) {
    return true;
   } else {
    return false;
   }
}
myFunction( 100 );
> false
myFunction( "St" );
> false
myFunction( "String." );
> true
 Выражения стрелочных функций уникальны тем, что ключевое слово return подразумевается, когда тело стрелочной функции содержит одно выражение и не имеет блочного синтаксиса:
const myFunction = () => 2 + 2;
myFunction();
> 4
 Если вы используете блочный синтаксис для определения тела функции стрелки, требуется явный return , даже если тело функции содержит только одно выражение:
const myFunction = () => { 2 + 2 };
myFunction();
> undefined
const myFunction = () => { return 2 + 2 };
myFunction();
> 4
Проверьте свое понимание
 Для чего используется return ?