Una function(función) es un bloque de codigo reutilizable, permite organizar mejor un programa, evita repetir instrucciones y hacen que el código sea más limpio y facil de mantener.
Podemos pensar que una función es como una máquina, que recibe datos de entrada, los procesa y devuelve un resultado. Las funciones son un conjunto de instrucciones agrupadas que se pueden ejecutar cuando las necesitamos.
Su sintaxis básica es:
function nombreDeLaFuncion(parámetros) {
// Código que se ejecuta
return resultado; // opcional
}
- nombreDeLaFuncion → cómo identificamos la función.
- parámetros → valores que la función recibe para trabajar (opcionales).
- return → devuelve un resultado (opcional).
Ejemplo básico:
function saludar(nombre) {
return "Hola, " + nombre + "!";
}
console.log(saludar("Javier")); // Hola, Javier!
En este ejemplo:
- La función
saludar
recibe un parámetro (nombre
). - Devuelve un saludo personalizado usando
return
. - Luego la invocamos con
saludar("Javier")
.
Tipos de funciones en JavaScript
1. Funciones declaradas
Son las que definimos con la palabra reservada function. Se pueden usar incluso antes de ser declaradas (gracias al hoisting).
function sumar(a, b) {
return a + b;
}
console.log(sumar(5, 3)); // 8
2. Funciones expresadas
Se asignan a una variable o constante. No se pueden usar antes de su definición.
const restar = function(a, b) {
return a - b;
};
console.log(restar(10, 4)); // 6
3. Funciones de fecha
Tienen una sintaxis más corta y son muy usadas en la programación moderna.
const multiplicar = (a, b) => a * b;
console.log(multiplicar(4, 6)); // 24
4. Funciones anónimas
No tienen nombre propio, Se suelen usar como callbacks, los callbacks son funciones pasadas como parámetro a otras funciones.
setTimeout(function() {
console.log("Han pasado 2 segundos");
}, 2000);
5. Funciones autoejecutables
Se ejecutan automáticamente al definirse.
(function() {
console.log("Soy una función autoejecutable");
})();
Parámetros y valores por defecto
Podemos asignar valores por defecto a los parámetros.
function saludar(nombre = "Invitado") {
return "Hola, " + nombre;
}
console.log(saludar()); // Hola, Invitado
console.log(saludar("María")); // Hola, María
Funciones como ciudadanos de primera clase
En JavaScript, las funciones se pueden:
- Guardar en variables.
- Pasar como argumentos a otras funciones.
- Devolver como resultado de una función.
Esto permite usar conceptos avanzados como callbacks y funciones de orden superior.
function operar(a, b, operacion) {
return operacion(a, b);
}
console.log(operar(4, 2, (x, y) => x / y)); // 2
Las funciones en JavaScript son una de las bases más importantes del lenguaje.
Gracias a ellas podemos:
- Reutilizar el código.
- Organizar mejor nuestros programas.
- Implementar técnicas avanzadas como programación funcional o asincronía.
Dominar las funciones en fundamental para avanzar en el aprendizaje de JavaScript y poder crear aplicaciones más completas y profesionales.
Si buscas documentación oficial y de confianza para profundizar en funciones de JavaScript, aquí tienes algunas de las mejores fuentes disponibles:
1. MDN – Guía de JavaScript: Functions
Es probablemente la guía más completa y accesible:
- Cubre todo lo esencial: definición, invocación, hoisting, ámbitos, cierres (closures), parámetros, funciones flecha, y mucho más.
- Ideal para entender tanto la teoría como ver ejemplos prácticos bien comentados.
MDN Web Docs
2. MDN – Declaración function
(Referencia)
Esta es la sección de referencia detallada sobre la sintaxis de las funciones:
- Explica cómo funcionan internamente las declaraciones
function
. - Aclara el comportamiento en modo estricto y no estricto, diferencias de alcance (scope), redeclaraciones y hoisting.
MDN Web Docs
3. MDN – Expresiones, flechas, funciones anónimas y más (Referencia de funciones)
Aquí profundizas en:
- Cómo funcionan las funciones expresadas vs. declaradas.
- Ventajas y limitaciones de las arrow functions, como su comportamiento con
this
, ausencia dearguments
, y restricciones como no poder ser generadoras.
MDN Web Docs
4. The Modern JavaScript Tutorial
Un recurso alternativo moderno y práctico:
- Ofrece explicaciones claras, con ejemplos y ejercicios, desde conceptos fundamentales hasta temas avanzados.
javascript.info