la palabra reservada return me sirve para realizar una acción (suma, resta, comparación etc) sin mostrar el resultado, hasta que dicha acción se llamada para que se ejecute.
El ejemplo más simple sería una función que suma dos valores:
function sum(a, b) {
return a + b;
}
let result = sum(1, 2);
alert( result ); // 3
en este ejemplo podemos observar la función "sum" la cual esta recibiendo 2 parámetros "a y b", dentro de esta función se esta realizando la acción de sumar a + b sin embargo no se esta recibiendo ningún valor ya que los parámetros a y b (es decir las variables a y b) aun no tienen ningún valor ni tipo de dato asignado; el valor de esa acción es la que se esta devolviendo con el return a la función "sum".
ya en la variable "result" vemos que se le **asigna como valor la función "sum" **mas los valores de los parámetros a y b que en este ejemplo serian 1 y 2; recuerda que con return se le asigno a la función "sum" la acción de sumar sus dos parámetros (a y b ósea 1 y 2), por eso al llamar a la variable "result" en el alert es como si se estuviera llamando directamente a la funcion "sum".
La directiva return puede estar en cualquier lugar de la función. Cuando la ejecución lo alcanza, la función se detiene y el valor se devuelve al código de llamada (asignado a la variable result del ejemplo anterior).