Funciones
Crea lógica reutilizable con entradas y salidas.
Resumen Rápido
Las funciones empaquetan lógica para que puedas llamarla muchas veces. En JavaScript, las funciones son valores, lo que significa que puedes almacenarlas en variables, pasarlas como argumentos y devolverlas desde otras funciones. Esto hace a JavaScript altamente flexible para patrones como callbacks y funciones de orden superior.
¿Qué es una Función?
Una función es un bloque de código reutilizable que:
- Tiene un nombre (generalmente)
- Puede aceptar entradas (parámetros)
- Realiza una tarea
- Puede devolver una salida
Declaración de Función
La forma tradicional de crear una función:
function greet(name) {
return "Hello, " + name + "!";
}
const message = greet("Alice"); // "Hello, Alice!"
Expresión de Función
Almacena una función en una variable:
const greet = function(name) {
return "Hello, " + name + "!";
};
Funciones Flecha (ES6+)
Sintaxis moderna y concisa:
// Full arrow function
const greet = (name) => {
return "Hello, " + name + "!";
};
// Shorthand for single expression
const greet = (name) => "Hello, " + name + "!";
// Single parameter - parentheses optional
const double = n => n * 2;
Parámetros y Argumentos
// Parameters are placeholders
function add(a, b) {
return a + b;
}
// Arguments are actual values
add(5, 3); // 5 and 3 are arguments
Parámetros por Defecto
function greet(name = "Guest") {
return "Hello, " + name;
}
greet(); // "Hello, Guest"
greet("Alice"); // "Hello, Alice"
Valores de Retorno
- Las funciones pueden devolver cualquier valor
- Sin
return, las funciones devuelvenundefined returnsale inmediatamente de la función
Funciones Puras
Funciones que:
- Siempre devuelven la misma salida para la misma entrada
- No tienen efectos secundarios (no modifican estado externo)
// Pure - predictable, testable
const add = (a, b) => a + b;
// Impure - modifies external state
let total = 0;
const addToTotal = (n) => { total += n; };
Pruébalo Tú Mismo
Aquí tienes un ejemplo práctico que puedes probar. Copia este código y ejecútalo en la consola de tu navegador (presiona F12 para abrir las herramientas de desarrollo) o en el Playground de Código.
// Function declaration
function calculateArea(width, height) {
return width * height;
}
// Call the function
const area = calculateArea(10, 5); // 50
// Arrow function (modern syntax)
const multiply = (a, b) => a * b;
const square = n => n * n; // Single param, no parentheses needed
// Default parameters
function greet(name = "Guest", greeting = "Hello") {
return `${greeting}, ${name}!`;
}
console.log(greet()); // "Hello, Guest!"
console.log(greet("Alice")); // "Hello, Alice!"
console.log(greet("Bob", "Hi")); // "Hi, Bob!"
// Functions can return early
function divide(a, b) {
if (b === 0) {
return "Cannot divide by zero";
}
return a / b;
}
// Functions as values
const operations = {
add: (a, b) => a + b,
subtract: (a, b) => a - b,
};
console.log(operations.add(5, 3)); // 8Puntos Clave
- ✓Crea lógica reutilizable con entradas y salidas.
- ✓Practica con ejemplos de código reales para solidificar tu comprensión
- ✓Este concepto construye la base para temas más avanzados
Recursos de Aprendizaje Relacionados
Continúa tu camino de programación con estos tutoriales relacionados: