CodeForge

JavaScript de Cero a Experto / Funciones

Arrow functions: la forma moderna

Teoría20 min20 XP

Vas a ver => por todas partes: en el código moderno, en las listas del próximo módulo, en React. Son las ARROW FUNCTIONS, una forma más corta de escribir funciones. Hoy las dominas, y de paso entiendes que una función también puede guardarse en una variable (una "expresión de función"), lo que abre la puerta a la sintaxis moderna.

Tres formas de escribir la misma función

Las tres hacen lo mismo. La novedad de las dos últimas: una función puede GUARDARSE en una variable (const sumar = ...), igual que un número o un texto. Las arrow functions usan la flecha => en vez de la palabra function, y por eso son más compactas. Se llaman igual: sumar3(2, 3).

Los atajos de las arrow

Aquí es donde las arrow brillan — pueden encogerse mucho:

Dos atajos que verás mil veces: retorno implícito (si el cuerpo es una sola expresión, quitas {} y returnx => x * 2 devuelve x * 2 solo), y paréntesis opcionales con un único parámetro (x => ...). Para lógica de varias líneas, mantienes las llaves y el return explícito. Esa brevedad hace las arrow perfectas para funciones cortas que se pasan a otras funciones (lo verás en el módulo 4 con map, filter...).

¿Cuándo cada una?

¿Qué devuelve la arrow function const cuadrado = n => n * n cuando la llamas con cuadrado(4)?

Mini-reto

Reescribe como arrow functions dos utilidades de "Mi Bolsillo": una const conIva = precio => precio * 1.19 (retorno implícito) y una const nivel = saldo => { ... } con un if/else que devuelva "ok" o "en rojo" (llaves y return, porque tiene lógica). Llámalas y compara la brevedad con la versión function. Escribir la misma función en sus tres formas fija la sintaxis para siempre.

Qué sigue

A veces no sabes CUÁNTOS argumentos recibirá una función (¿sumar 3 números? ¿10?). La próxima lección trae los REST PARAMETERS (...) para recibir una cantidad flexible de argumentos como una lista — la pieza que faltaba para funciones que se adaptan a cualquier cantidad de datos.