Funciones flecha
Clase 4 de 73 min de lectura
¿Cansado de escribir function una y otra vez? Las funciones flecha, o arrow functions en inglés, te lo ahorran.
Son una forma más concisa de crear funciones en JavaScript, y su sintaxis simplificada las ha hecho muy populares en los últimos años. Vas a verlas por todas partes.
La sintaxis básica de una función flecha es la siguiente:
const miFuncionFlecha = () => { // código a ejecutar}En lugar de la palabra clave function, usamos una flecha => entre los paréntesis de los parámetros y el cuerpo de la función. Los parámetros siguen yendo dentro de los paréntesis:
const saludar = (nombre) => { console.log('Hola ' + nombre)}Y si solo tenemos un parámetro, podemos incluso omitir los paréntesis que lo rodean:
const saludar = nombre => { console.log('Hola ' + nombre)}Ventajas de las funciones flecha#
Las funciones flecha tienen varias ventajas sobre las funciones regulares en JavaScript:
-
Sintaxis más concisa: son más cortas y más fáciles de leer que las funciones regulares, sobre todo cuando la función ocupa una sola línea.
-
Return implícito: cuando son de una sola línea, pueden devolver el valor de la expresión sin escribir la palabra clave
return. Más cortas todavía. -
Funciones anónimas más legibles: son una forma más clara y concisa de crear funciones anónimas, lo que hace el código más fácil de entender.
Return implícito#
Cuando una función flecha tiene una sola expresión, podemos omitir las llaves {} y la palabra clave return. La función devuelve directamente el valor de esa expresión, y a esto se le llama return implícito.
Para verlo, vamos a transformar una función regular en una función flecha y, después, a dejarla con return implícito. Las tres hacen exactamente lo mismo:
// Declaración de función regularfunction sumar(a, b) { return a + b}// Función flechaconst sumarFlecha = (a, b) => { return a + b}// Función flecha con return implícitoconst sumarImplicito = (a, b) => a + bsumar hacen exactamente lo mismo: sumar(2, 3) devuelve 5.De tres líneas a una. La función flecha con return implícito es mucho más corta y fácil de leer que la función regular, algo especialmente útil cuando trabajamos con funciones de una sola línea.
En resumen
- Una función flecha cambia la palabra
functionpor una flecha=>después de los parámetros. - Son siempre anónimas: para reutilizarlas se asignan a una variable.
- Con un solo parámetro puedes omitir los paréntesis que lo rodean.
- Si el cuerpo es una sola expresión, puedes quitar las llaves y el
return: es el return implícito.