¿Qué es una función en JavaScript?
Si estás dando tus primeros pasos en la programación y aún no tienes claro qué es una función, te recomiendo revisar primero el tema sobre fundamentos de programación donde se introduce este concepto.
Ahora bien, si ya entiendes qué es una función, es buen momento para explorar cómo se aplican específicamente en JavaScript. Las funciones en este lenguaje no solo son bloques reutilizables de código: también son un tipo de dato fundamental que utilizamos constantemente a lo largo de nuestros programas.
Y sí, has leído bien: en JavaScript, las funciones son tratadas como valores, del mismo modo que los números o las cadenas de texto.
jsCopiarEditartypeof function () {}; // "function"
Como ves, si usamos typeof
sobre una función, JavaScript nos confirma que su tipo de dato es function
. Esto quiere decir que una función puede asignarse a variables, pasarse como argumento a otras funciones o incluso retornarse como resultado.
Formas de definir funciones en JavaScript
JavaScript permite declarar funciones de diferentes maneras. A continuación, te muestro las más comunes:
Ejemplo | Descripción |
---|---|
function nombre(p1, p2) { } | Declaración de función clásica. Ideal para principiantes. |
const nombre = function(p1, p2) { } | Expresión de función. Común entre desarrolladores con experiencia. |
new Function('p1', 'p2', 'código...') | Constructor de funciones. Raramente usado y poco recomendado. |
A continuación explicamos brevemente estas formas:
1. Función declarada
Es la manera tradicional de definir funciones. Permite declarar la función por su nombre y reutilizarla en cualquier parte del código. Incluso puedes invocarla antes de su declaración, gracias a cómo JavaScript procesa internamente estas definiciones (lo que se conoce como “hoisting”).
jsCopiarEditarfunction saludar() {
return "Hola";
}
console.log(saludar()); // "Hola"
console.log(typeof saludar); // "function"
Este método es el más conocido y utilizado por quienes vienen de otros lenguajes, ya que resulta claro y directo.
En los siguientes apartados exploraremos otras formas de crear funciones, así como conceptos más avanzados como funciones flecha, callbacks y funciones anónimas.