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()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 👋🏻"
. . .