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: 10Valores 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: 12Devolviendo 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: 3Resumen
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
