Hola Edgar, es una buena pregunta acerca de la palabra reservada return. En programación, return es una palabra reservada, y una palabra reservada es aquella la cual, no puede ser utilizar como variable, nombre de una función, entre otros, ya que está palabra tiene una función en el lenguaje de programación, es por eso que cambia de color o tiene cualidades diferentes.
Return la podemos traducir como devolver, regresar, retornar, y se utiliza mayormente en funciones, como lo vimos en la clase del cálculo del IMC. Su utilidad es la de devolver un valor (ya sea un número entero (int), un número con decimales (float), una cadena de texto (string), un carácter (char), entre otros), por lo que, sin un retorno, la función no nos regresaría el valor que queremos obtener.
El ejemplo que usaste es muy bueno, pero lo voy a simplificar.
<meta charset="utf-8">
<script>
//Aqui tenemos nuestras variables, en este caso un num1 con el valor de 10 y num2 con el valor de 5.
var num1 = 10;
var num2 = 5;
//La función "sumar", recibe dos parametros, en este caso, num1 y num2 (que son los valores de las variables previamente declaradas).
function sumar (num1, num2){
var suma = num1 + num2; //Declaramos y usamos una variable llamada suma, y sumamos las dos variables recibidas.
//Aqui es donde es necesario un return, ya que, la queremos enviar a una variable
return suma;
}
var total = sumar(num1,num2); //Podemos ver que declaramos una variable llamada total, y recibe el retorno del valor de suma de nuestra función.
//en este alert, tenemos dos caminos, el que eligió, ya que mostrará el resultado o utilizar la variable total
alert ("la suma es: "+ total);
</script>
CODIGO CON ERROR:
<meta charset="utf-8">
<script>
var num1 = 10;
var num2 = 5;
function sumar (num1, num2){
var suma = num1 + num2; //Declaramos y usamos una variable llamada suma, y sumamos las dos variables recibidas.
//AQUI NO TENEMOS UN RETURN
//Por lo que, nuestra función sumar, no devolverá ningún valor, y por lo tanto podría quedar inútil.
}
var total = sumar(num1,num2); //Aquí debería de recibir el retorno del valor de suma de nuestra función, pero no tiene un return.
//Por lo tanto aquí nos daría un error, porque la variable total no tiene un valor o es nulo
alert ("la suma es: "+ total);
</script>
Puede que pienses por qué debemos utilizar un return, si podemos imprimirlo directamente en la función o usar la función directamente en el alert. Más adelante, las funciones serán más necesarias y especificas, además de que vas a preferir usar return, que imprimir directamente. Cómo vimos, el profesor nos ha estado enseñando como hacer más eficiente nuestro código, usar return es una función más, pero dependerá de que vayamos a hacer con nuestro código para utilizar ciertas funciones o palabras reservadas para apoyarnos, además de que hay muchas formas de usar un return.
Una recomendación, te puedes apoyar en MDN (Mozilla Developer Network) que es una página con mucha información, ejemplos, descripciones, etc. de muchas palabras reservadas, usos que tiene una etiqueta, etc. el único problema es que algunas cosas están en inglés, pero otras en español, o podrías traducirlas
https://developer.mozilla.org/en-US/
https://developer.mozilla.org/en-US/about
de hecho, aquí tienes su referencia acerca de return
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/return
dejaré algunos videos para hacer más sencillo el entendimiento del return:
https://www.youtube.com/watch?v=h6MmwpNu7eI
https://www.youtube.com/watch?v=kti9atdox3I&pp=ygUUcmV0dXJuIHByb2dyYW1hY2lvbiA%3D
https://www.youtube.com/watch?v=e3EyqGnb6XM