Las funciones son los "Verbos" de la programación. Te permiten empaquetar un conjunto de instrucciones, darle un nombre y reutilizarlo cuando quieras.
La Máquina de Entrada-Salida
Piensa en una función como una Tostadora.
1. Entrada (Parámetros): Pones pan.
2. Lógica (Cuerpo): Las bobinas se calientan y tuestan el pan.
3. Salida (Return): Expulsa la tostada.
No necesitas saber cómo funcionan los cables internos para usarla. Solo presionas el botón.
1. Definiendo una Función
Escribir la función no la ejecuta. Solo "enseña" a la computadora cómo hacer la tarea.
// 1. DEFINICIÓN (Enseñar)
function hacerSandwich(ingrediente) {
// 'ingrediente' es una variable que solo existe aquí
return "¡Aquí está tu sandwich de " + ingrediente + "!";
}
// 2. LLAMADA (Usar)
const almuerzo = hacerSandwich("Pavo");
console.log(almuerzo);
const cena = hacerSandwich("Mantequilla de Maní");
console.log(cena);La Confusión de "Return"
Los principiantes a menudo confunden console.log con return.
- console.log: Como imprimir una foto. Puedes verla, pero no puedes usarla en el código.
- return: Como darte el archivo de la foto. Puedes guardarlo, editarlo o enviarlo a alguien más.
function sumarConLog(a, b) {
console.log(a + b); // Solo imprime
}
function sumarConReturn(a, b) {
return a + b; // Devuelve el valor
}
const resultado1 = sumarConLog(2, 2);
console.log("Resultado 1 es:", resultado1); // ¡Undefined!
const resultado2 = sumarConReturn(2, 2);
console.log("Resultado 2 es:", resultado2); // 4 (¡Funcionó!)Apoya a JS Fruggal visitando a nuestros patrocinadores.
Arrow Functions Modernas
En JavaScript moderno (ES6), preferimos una sintaxis más limpia. Se comporta mayormente igual pero se ve más nítida.
// Forma Antigua
function sumaAntigua(a, b) {
return a + b;
}
// Forma Moderna
// ¡Si es una línea, ni siquiera necesitas 'return' o llaves!
const sumaNueva = (a, b) => a + b;
console.log(sumaNueva(10, 50));Parámetros por Defecto
¿Qué pasa si alguien llama a tu función pero olvida los ingredientes? Puedes establecer valores predeterminados.
const saludar = (nombre = "Extraño") => {
console.log("Hola, " + nombre);
};
saludar("Alice"); // Hola, Alice
saludar(); // Hola, Extraño (Usa el respaldo)