Valores de retorno

javascript funciones

🎯 ¿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:

  1. Le das dinero (parámetros)
  2. Seleccionas un producto (proceso)
  3. 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);

Terminal window
10
INFO

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);

Terminal window
Hola
undefined

🎨 Funciones que devuelven diferentes tipos de datos

Las funciones pueden devolver cualquier tipo de dato en JavaScript:

// Devuelve un string
function obtenerSaludo(nombre) {
return "¡Hola " + nombre + "!";
}
// Devuelve un booleano
function esPar(numero) {
return numero % 2 === 0;
}
// Devuelve un array
function crearListaNumeros(inicio, fin) {
return [inicio, inicio + 1, fin];
}
console.log(obtenerSaludo("Ana"));
console.log(esPar(4));
console.log(crearListaNumeros(1, 3));

Terminal window
¡Hola Ana!
true
[1, 2, 3]
INFO

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

  1. Una función debería tener un solo propósito claro

    // ✅ Bien: función con un propósito claro
    function calcularArea(base, altura) {
    return base * altura;
    }
    // ❌ Mal: función haciendo demasiadas cosas
    function calcularYMostrarArea(base, altura) {
    let area = base * altura;
    console.log("El área es:", area);
    return area;
    }
  2. Evita múltiples returns si es posible

    // ✅ Bien: un solo punto de retorno
    function 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 seguir
    function obtenerCalificacion(puntos) {
    if (puntos >= 60) {
    return "Aprobado";
    }
    return "Reprobado";
    }
  3. Nombra tus funciones según lo que devuelven

    // ✅ Bien: el nombre indica qué devuelve
    function esNumeroPositivo(numero) {
    return numero > 0;
    }
    // ❌ Mal: nombre no indica qué devuelve
    function procesarNumero(numero) {
    return numero > 0;
    }
INFO

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:

  1. Reciba el precio de un producto
  2. Calcule el precio más impuestos (16%)
  3. 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:

  1. Reciba una edad
  2. Devuelva true si la edad es 18 o mayor
  3. Devuelva false si es menor de 18
function esMayorDeEdad(edad) {
// Tu código aquí
}
console.log(esMayorDeEdad(20)); // Debería mostrar true
console.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?

Comentarios