Gráffica Academy
Creado para la ComunidadAprende a programar
Escribir al equipo

Contacta con el equipo de Gráffica Estudio Academy.

IG @ X in
Sintaxis

Funciones

Hasta ahora has escrito código que se ejecuta de arriba abajo, una vez. Las funciones son la herramienta para empaquetar un bloque de código con nombre y reutilizarlo cuantas veces quieras, con datos distintos cada vez — la base de literalmente cualquier programa serio en JavaScript.

Tres formas de escribir una función

Declaración

function saludar(nombre) { return 'Hola ' + nombre; } — la forma clásica, con nombre propio.

Expresión

const saludar = function(nombre) { ... }; — una función guardada en una variable, sin nombre propio.

Arrow function

const saludar = (nombre) => { ... }; — la forma moderna y más corta, muy habitual en código actual.

tres-formas.js
1
Pulsa "Ejecutar" para ver el resultado.

Cuando una arrow function solo tiene una línea que devuelve un valor, puedes quitar las llaves y el return — se llama "retorno implícito":

Retorno implícito

const doble = (n) => n * 2; — exactamente equivalente a (n) => { return n * 2; }, pero más corto.


Parámetros, argumentos y valores por defecto

Un parámetro es el nombre que usa la función internamente; un argumento es el valor real que le pasas al llamarla. Puedes darle un valor por defecto a un parámetro por si no le pasan nada:

valores-defecto.js
1
Pulsa "Ejecutar" para ver el resultado.
⚠️ Error común

Olvidar el return. Sin él, una función siempre devuelve undefined, aunque internamente calcule el resultado correcto — el valor simplemente nunca sale de la función.


Funciones como valores

En JavaScript, una función es un valor como cualquier otro: la puedes guardar en una variable, pasarla como argumento a otra función, o devolverla desde otra función. Esto es lo que hace posible métodos como .map() o .filter() que verás en el módulo de arrays — reciben una función como argumento:

funciones-como-valores.js
1
Pulsa "Ejecutar" para ver el resultado.
💡 Consejo

A una función que recibe otra función como argumento (como ejecutarDosVeces arriba) se la suele llamar "función de orden superior". No necesitas memorizar el término, pero lo vas a ver constantemente si sigues aprendiendo JavaScript después de este curso.

Comprueba lo que has aprendido

3 preguntas · sin nota, solo para afianzar lo de hoy

1. Si una función no tiene return, ¿qué devuelve al llamarla?

2. ¿Qué hace `cantidad = 1` como parámetro de una función?

3. ¿Qué significa que las funciones sean "valores" en JavaScript?

Síguenos IG @ X in