Valores de retorno
🎯 ¿Qué son los valores de retorno?
Cuando creamos una función, a veces necesitamos que nos devuelva un resultado para poder usarlo después.
Para esto usamos la palabra clave return
.
Analogía
Piensa en una máquina expendedora:
- Le das dinero (parámetros)
- Seleccionas un producto (proceso)
- La máquina te entrega el producto (valor de retorno)

Si la máquina no te diera el producto (no tuviera return
) no sería muy útil.
💫 Usando return en nuestras funciones
Veamos un ejemplo simple:
function multiplicarPorDos(numero) { return numero * 2;}
let resultado = multiplicarPorDos(5);console.log(resultado);
10
Podemos guardar lo que devuelve una función en una variable, como hicimos con
resultado
.
🔧 Formas de usar el valor de retorno
Hay varias formas de usar lo que una función devuelve:
💾 Guardarlo en una variable
Podemos guardar el resultado de una función en una variable para usarlo después:
let mensaje = obtenerSaludo("Carlos");
⚡ Usarlo en una condición
Podemos usar el valor de retorno directamente en una condición:
if (esPar(7)) { console.log("Es par");}
🔄 Como argumento de otra función
Podemos usar el valor que devuelve una función como argumento para otra:
console.log(obtenerSaludo("María"));
➗ En operaciones matemáticas
Podemos usar el valor de retorno en operaciones matemáticas:
let numero = sumar(5, 3) * 2;
⚠️ Cosas importantes sobre return
1️⃣ Return detiene la función
Cuando JavaScript encuentra un return
, la función termina inmediatamente. En otras palabras, ignora el resto de líneas de código.
function saludar() { return "¡Hola!"; console.log("Esto nunca se verá"); // Esta línea no se ejecuta}
2️⃣ Una función sin return devuelve undefined
function sinRetorno() { console.log("Hola");}
let resultado = sinRetorno();console.log(resultado);
Holaundefined
🎨 Funciones que devuelven diferentes tipos de datos
Las funciones pueden devolver cualquier tipo de dato en JavaScript:
// Devuelve un stringfunction obtenerSaludo(nombre) { return "¡Hola " + nombre + "!";}
// Devuelve un booleanofunction esPar(numero) { return numero % 2 === 0;}
// Devuelve un arrayfunction crearListaNumeros(inicio, fin) { return [inicio, inicio + 1, fin];}
console.log(obtenerSaludo("Ana"));console.log(esPar(4));console.log(crearListaNumeros(1, 3));
¡Hola Ana!true[1, 2, 3]
El valor de retorno puede ser tan simple como un número o tan complejo como un objeto o array con múltiples valores.
🎓 Consejos para usar return
-
Una función debería tener un solo propósito claro
// ✅ Bien: función con un propósito clarofunction calcularArea(base, altura) {return base * altura;}// ❌ Mal: función haciendo demasiadas cosasfunction calcularYMostrarArea(base, altura) {let area = base * altura;console.log("El área es:", area);return area;} -
Evita múltiples returns si es posible
// ✅ Bien: un solo punto de retornofunction obtenerCalificacion(puntos) {let mensaje;if (puntos >= 60) {mensaje = "Aprobado";} else {mensaje = "Reprobado";}return mensaje;}// ❌ Evitar: múltiples returns pueden hacer el código difícil de seguirfunction obtenerCalificacion(puntos) {if (puntos >= 60) {return "Aprobado";}return "Reprobado";} -
Nombra tus funciones según lo que devuelven
// ✅ Bien: el nombre indica qué devuelvefunction esNumeroPositivo(numero) {return numero > 0;}// ❌ Mal: nombre no indica qué devuelvefunction procesarNumero(numero) {return numero > 0;}
Recuerda: una función bien diseñada es como una herramienta especializada: hace una cosa y la hace bien.
☝️🤓
🏋️♂️ Ejercicio
Crea una función llamada calcularPrecioTotal
que:
- Reciba el precio de un producto
- Calcule el precio más impuestos (16%)
- Devuelva el precio total
function calcularPrecioTotal(precio) { // Tu código aquí}
console.log(calcularPrecioTotal(100)); // Debería mostrar 116
🏋️♂️ Ejercicio
Crea una función esMayorDeEdad
que:
- Reciba una edad
- Devuelva
true
si la edad es 18 o mayor - Devuelva
false
si es menor de 18
function esMayorDeEdad(edad) { // Tu código aquí}
console.log(esMayorDeEdad(20)); // Debería mostrar trueconsole.log(esMayorDeEdad(15)); // Debería mostrar false
🚀 Extra
Busca tres funciones de JavaScript que devuelvan un valor booleano.
Explica:
- ¿Qué hace cada método?
- ¿Qué tipo de parámetros recibe?
- ¿En qué situaciones es útil usarla?