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:
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:
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.
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
- ¿Qué es JavaScript?
- Configuración de tu Entorno de Desarrollo
- Tu Primer Programa en JavaScript
- Sintaxis y Conceptos Básicos de JavaScript
- Variables y Tipos de Datos
- Operadores Básicos
Módulo 2: Estructuras de Control
- Sentencias Condicionales
- Bucles: for, while, do-while
- Sentencias Switch
- Manejo de Errores con try-catch
Módulo 3: Funciones
- Definición y Llamada de Funciones
- Expresiones de Función y Funciones Flecha
- Parámetros y Valores de Retorno
- Ámbito y Closures
- Funciones de Orden Superior
Módulo 4: Objetos y Arrays
- Introducción a los Objetos
- Métodos de Objeto y la Palabra Clave 'this'
- Arrays: Conceptos Básicos y Métodos
- Iteración sobre Arrays
- Desestructuración de Arrays
Módulo 5: Objetos y Funciones Avanzadas
- Prototipos y Herencia
- Clases y Programación Orientada a Objetos
- Módulos e Importación/Exportación
- JavaScript Asíncrono: Callbacks
- Promesas y Async/Await
Módulo 6: El Modelo de Objetos del Documento (DOM)
- Introducción al DOM
- Selección y Manipulación de Elementos del DOM
- Manejo de Eventos
- Creación y Eliminación de Elementos del DOM
- Manejo y Validación de Formularios
Módulo 7: APIs del Navegador y Temas Avanzados
- Almacenamiento Local y de Sesión
- Fetch API y AJAX
- WebSockets
- Service Workers y Aplicaciones Web Progresivas (PWAs)
- Introducción a WebAssembly
Módulo 8: Pruebas y Depuración
- Depuración de JavaScript
- Pruebas Unitarias con Jest
- Pruebas de Integración
- Pruebas de Extremo a Extremo con Cypress
Módulo 9: Rendimiento y Optimización
- Optimización del Rendimiento de JavaScript
- Gestión de Memoria
- Manipulación Eficiente del DOM
- Carga Perezosa y División de Código
Módulo 10: Frameworks y Librerías de JavaScript
- Introducción a React
- Gestión de Estado con Redux
- Conceptos Básicos de Vue.js
- Conceptos Básicos de Angular
- Elegir el Framework Adecuado