Seguramente, cuando empezamos a programar, aprendimos que una función es una transformación que podemos hacer sobre un dato: un procedimiento o un conjunto de sentencias que realizan una tarea o calculan un valor.

Las funciones son los principales bloques de construcción de un programa, pero en JavaScript son una de las estructuras más importantes y versátiles: ¡son un tipo de dato!

Ya hemos visto ejemplos de funciones integradas en el lenguaje, como alert() o log(), pero también podemos crear funciones propias y, como podemos esperar, el terreno de las funciones en JavaScript es bastante complejo.

Intentemos revisar algunas prácticas que, aunque las usemos día a día, podrían resultarnos poco claras y paradigmáticas.

Declarar una función

La forma estándar de declarar una función en JavaScript sigue una estructura simple y muy conocida para quienes hayamos usado otros lenguajes de programación.

La estructura de declaración de una función es:

function nombreDeLaFuncion() {
  *sentencias*
}

Analicemos sus partes:

Un ejemplo de uso de estas funciones estándares es la función hola(), que vemos en el siguiente código, que devuelve el string "Hola 👋🏻".

function hola() {
  return "Hola 👋🏻";
}

Luego, si quisiéramos usar esta función, la invocamos con su nombre:

. . .
hola(); // "Hola 👋🏻"
. . .

O podríamos asignar su valor de retorno a una variable:

. . .
let a = hola();
console.log(a); // "Hola 👋🏻"
. . .