Cuando usar Return en Javascript

María Vedia
4 min readApr 28, 2018

--

Return es una instrucción de Javascript que sale de la función actual y devuelve el valor de la misma. Lo primero que hay que saber es que si no existe return dentro de la función y se llama a dicha función, la consola devuelve el valor como “undefined” (no está definido)

Lo segundo es saber en qué casos se usa return en Javascript y son dos:

  • Cuando literalmente queremos devolver el valor de la función.
  • Cuando queremos que la función deje de ejecutarse.

1. Para devolver el valor de la función

Por ejemplo, tenemos una función que divide un número entre 4 y la hemos creado para obtener resultados. En el primer caso, le pasamos 27 para que lo divida entre 4 pero como no hay return dentro, devuelve “undefined”. No accede al número porque el número sólo vive dentro de la función y no hay nada que nos dé el valor. Si le ponemos return, como en el ejemplo 2, veremos que efectivamente sí obtenemos el resultado de la división.

Sin return
Con return

2. Para que finalice la ejecución de la función

Return también hace que finalice la ejecución de una función. En el siguiente ejemplo, el primer return detiene la ejecución de la función y hace que el valor de la misma sea true. El return que devuelve false, nunca se ejecuta.

Por tanto, Return se suele usar para interrumpir la instrucción de una función.

En este ejemplo, la función countTo () espera que el usuario meta un número. Si el usuario, en vez de un número, introduce otro tipo de dato como un string, un booleano, un array, etc., la función se detiene, no llega a la parte del código en la que está el bucle for, en su lugar devuelve false:

Return también se utiliza para parar un bucle y hacer que su ejecución se quede a la mitad. Aquí hay un ejemplo:

Aunque en este caso el bucle for puede llegar hasta 10, se interrumpe en 3 porque el return establece que cuando la condición se cumpla, devuelva el valor de i, finalizando así el bucle.

Return puede devolver una función dentro de una función

Esto significa que el valor de una función puede ser otra función y aquí entran en juego las Closure y el Scope explicados en mi anterior post Funciones: Líneas Generales

Cabe destacar también que cuando queremos hacer return del valor de una función, hay que asignárselo a una variable. Por ejemplo, así:

var value = someFunction ();

De este modo, guardamos el valor de someFunction en value. Si llamamos a la función sin más, el valor se pierde:

someFunction ();

¿Por qué no hacía falta Return en las líneas 518 y 519 de nuestro test?

En este caso concreto, en la función guardada dentro de la propiedad incrementScoreIn (línea 518), no necesitábamos un return porque ni queríamos parar la ejecución de la función, ni queríamos recoger su valor, lo único que necesitábamos era una función de consulta (query) donde guardar la instrucción o el cálculo para sumar addedScore a finalScore. Sin embargo, la función anónima, contenida en la propiedad points, sí necesitaba un return porque es la encargada de la acción (devolver el resultado/valor finalScore). Además, los valores de los parámetros initialScore (asociado a la variable finalScore) y addedScore (de la función anónima guardada en la propiedad del objeto incrementScoreIn), venían dados en las instrucciones del test.

--

--

María Vedia

Front-end Developer y Periodista. #Adalaber #GeneracionK en @kairos_ds