Repaso
English
Frontend y webIntermedioFE-05

¿Cómo tratan this las arrow functions?

Opciones

  1. Siempre enlazan this al objeto global
  2. No tienen this propio; viene del scope que las rodea (Opción correcta)
  3. this siempre es undefined dentro de una arrow
  4. Tratan this igual que las funciones normales

Respuesta

No tienen this propio; lo capturan de forma léxica del scope que las rodea

Por qué

En una function normal, this depende de CÓMO se llama la función (por ejemplo obj.method() → obj), lo que a menudo falla al pasarla como callback.

Las arrow functions no tienen this propio; usan el this del código que las rodea. Eso las hace perfectas para callbacks dentro de métodos.

No uses arrows para métodos de objeto que necesiten que this sea el objeto.

Recuerda

Las arrow functions toman this de donde están escritas.

Términos clave

Practica esta pregunta en Repaso