Skip to content

Latest commit

 

History

History
87 lines (59 loc) · 4.19 KB

04-arrow-functions.md

File metadata and controls

87 lines (59 loc) · 4.19 KB

Arrow Functions

Las arrow functions son una forma más concisa de definir funciones en JavaScript. En lugar de usar la palabra clave function, se usan flechas =>.

La sintaxis general es la siguiente:

(param1, param2, , paramN) => { sentencias }
  • Los parámetros se escriben dentro de los paréntesis y están separados por comas.
  • La flecha => separa los parámetros de las sentencias de la función.
  • Si la función no recibe parámetros, se escriben los paréntesis vacíos ().
  • Si la función solo tiene una sentencia, no es necesario usar llaves {} y se puede omitir el return.
  • Si la función tiene múltiples sentencias, es necesario usar llaves {} y también incluir el return explícitamente.

Si la función tiene un solo parámetro, los paréntesis pueden ser omitidos:

param => { sentencias }

Si la función tiene un solo parámetro y una sola sentencia, los paréntesis pueden ser omitidos y la sentencia puede ser omitida:

param => sentencia

Si la función no tiene parámetros, los paréntesis deben ser omitidos:

() => { sentencias }

Si la función no tiene parámetros y una sola sentencia, los paréntesis pueden ser omitidos y la sentencia puede ser omitida:

() => sentencia

Ejemplos de Arrow Functions

A continuación, algunos ejemplos de arrow functions:

// Función que suma dos números
const suma = (a, b) => a + b;

// Función que eleva un número al cuadrado
const cuadrado = num => num ** 2;

// Función que devuelve el doble de un número
const doble = num => {
  const resultado = num * 2;
  return resultado;
};

En el primer ejemplo, se define una función que recibe dos parámetros y devuelve la suma de ambos. Como la función solo tiene una sentencia, se puede omitir las llaves {} y el return.

En el segundo ejemplo, se define una función que recibe un número y devuelve su cuadrado. Como la función solo tiene una sentencia, se pueden omitir las llaves {} y el return.

En el tercer ejemplo, se define una función que recibe un número y devuelve su doble. Como la función tiene múltiples sentencias, se deben usar llaves {} y se debe incluir el return explícitamente.

Ventajas de las Arrow Functions

  • Son más concisas y fáciles de leer que las funciones tradicionales.
  • Tienen un contexto léxico this más claro y predecible que las funciones tradicionales.
  • Permiten crear funciones anónimas de manera más simple y elegante.

Desventajas de las Arrow Functions

  • No pueden ser usadas como constructores (no tienen un objeto prototype).
  • No tienen un arguments propio, por lo que si se desea acceder a los argumentos de la función, se deben usar argumentos predeterminados o rest parameters.

Buenas Prácticas

  • Utilizar arrow functions en lugar de funciones anónimas en callbacks. Las arrow functions son más cortas, legibles y evitan el uso de la palabra clave this.
  • Utilizar paréntesis alrededor de los parámetros de la función si hay más de uno. Esto hace que el código sea más legible y evita errores sutiles.
  • Utilizar la sintaxis de una sola línea (=>) para arrow functions que tienen una sola expresión en el cuerpo. En su lugar, utilizar la sintaxis de bloque ({}) para arrow functions que tienen varias líneas de código en el cuerpo.
  • Utilizar la declaración de const en lugar de let para asignar arrow functions a variables. Esto evita que la variable sea reasignada accidentalmente.
  • Utilizar nombres descriptivos y legibles para las variables que contienen arrow functions. Esto hace que el código sea más fácil de entender y depurar.
  • Evitar el uso excesivo de arrow functions. Las arrow functions son útiles para funciones simples y para callbacks, pero pueden hacer que el código sea más difícil de leer si se utilizan en exceso.
  • Asegurarse de que el contexto de this sea el deseado dentro de la arrow function. En algunos casos, puede ser necesario utilizar la función bind() para establecer explícitamente el contexto de this.

Siguiendo estas buenas prácticas al utilizar arrow functions en JavaScript, podemos escribir código más legible, eficiente y menos propenso a errores sutiles.