En este tema, aprenderemos sobre cómo definir y utilizar parámetros en las funciones de JavaScript, así como cómo devolver valores desde una función. Estos conceptos son fundamentales para escribir código modular y reutilizable.

Parámetros en Funciones

Los parámetros son variables que se pasan a una función cuando esta es llamada. Permiten que una función reciba datos de entrada y los utilice dentro de su cuerpo.

Definición de Parámetros

Cuando defines una función, puedes especificar los parámetros que esta aceptará. Aquí hay un ejemplo básico:

function saludar(nombre) {
    console.log("Hola, " + nombre + "!");
}

En este ejemplo, nombre es un parámetro de la función saludar.

Llamada de Funciones con Argumentos

Cuando llamas a una función, puedes pasarle valores (argumentos) que correspondan a los parámetros definidos:

saludar("Ana"); // Salida: Hola, Ana!

Parámetros por Defecto

JavaScript permite definir valores por defecto para los parámetros. Si no se proporciona un argumento, se utilizará el valor por defecto:

function saludar(nombre = "Amigo") {
    console.log("Hola, " + nombre + "!");
}

saludar(); // Salida: Hola, Amigo!

Parámetros Rest

Los parámetros rest permiten a una función aceptar un número indefinido de argumentos como un array:

function sumar(...numeros) {
    let total = 0;
    for (let numero of numeros) {
        total += numero;
    }
    return total;
}

console.log(sumar(1, 2, 3, 4)); // Salida: 10

Valores de Retorno

Una función puede devolver un valor utilizando la palabra clave return. El valor de retorno puede ser de cualquier tipo de dato.

Ejemplo de Valor de Retorno

function multiplicar(a, b) {
    return a * b;
}

let resultado = multiplicar(3, 4);
console.log(resultado); // Salida: 12

Devolviendo Objetos

Las funciones también pueden devolver objetos, lo que es útil para devolver múltiples valores:

function crearPersona(nombre, edad) {
    return {
        nombre: nombre,
        edad: edad
    };
}

let persona = crearPersona("Carlos", 30);
console.log(persona); // Salida: { nombre: 'Carlos', edad: 30 }

Ejercicios Prácticos

Ejercicio 1: Función de Suma

Escribe una función llamada sumar que acepte dos parámetros y devuelva su suma.

function sumar(a, b) {
    return a + b;
}

// Prueba la función
console.log(sumar(5, 7)); // Salida: 12

Ejercicio 2: Función de Saludo Personalizado

Escribe una función llamada saludoPersonalizado que acepte un nombre y un saludo opcional. Si no se proporciona un saludo, debe usar "Hola".

function saludoPersonalizado(nombre, saludo = "Hola") {
    return saludo + ", " + nombre + "!";
}

// Prueba la función
console.log(saludoPersonalizado("María")); // Salida: Hola, María!
console.log(saludoPersonalizado("María", "Buenos días")); // Salida: Buenos días, María!

Ejercicio 3: Función de Promedio

Escribe una función llamada promedio que acepte un número indefinido de argumentos y devuelva su promedio.

function promedio(...numeros) {
    let total = 0;
    for (let numero of numeros) {
        total += numero;
    }
    return total / numeros.length;
}

// Prueba la función
console.log(promedio(1, 2, 3, 4, 5)); // Salida: 3

Resumen

En esta sección, hemos aprendido sobre:

  • Cómo definir y utilizar parámetros en funciones.
  • Cómo llamar a funciones con argumentos.
  • Parámetros por defecto y parámetros rest.
  • Cómo devolver valores desde una función.

Estos conceptos son esenciales para escribir funciones flexibles y reutilizables en JavaScript. En el próximo tema, exploraremos el ámbito de las variables y los closures, que son fundamentales para entender cómo funcionan las funciones en JavaScript.

JavaScript: De Principiante a Avanzado

Módulo 1: Introducción a JavaScript

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Objetos y Arrays

Módulo 5: Objetos y Funciones Avanzadas

Módulo 6: El Modelo de Objetos del Documento (DOM)

Módulo 7: APIs del Navegador y Temas Avanzados

Módulo 8: Pruebas y Depuración

Módulo 9: Rendimiento y Optimización

Módulo 10: Frameworks y Librerías de JavaScript

Módulo 11: Proyecto Final

© Copyright 2024. Todos los derechos reservados