No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Funciones de flecha y el this

15/24
Recursos

Aportes 8

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Saludos!!!

Yo utilizaría las funciones de flecha con los array methods, como lo son: some, reduce, filter, find, every, etc.
Saludos!!!

los callback con función flecha heredan el this del contenedor

Clase 15: Funciones de flecha y el this

  • Una expresión de función flecha es una alternativa compacta a una expresión de función tradicional, pero es limitada y no se puede utilizar en todas las situaciones.
  • Diferencias y limitaciones: No tiene sus propios enlaces a this o super y no se debe usar como métodos.
  • Esta funcionalidad viene con el EMAC6
  • Cuando creas una arrow functions su this queda relacionado al ambito externo.
// El return está implícito sino añadimos las llaves.
const getResult = () => "Results";

//Sin arrows functions
[1, 2, 3]
  .map(function (n) {
    return n * 2;
  })

  [
    // Con arrows functions
    (1, 2, 3)
  ].map((n) => n * 2);

// Ejemplos del this
const counter = {
  number: 0,
  increase() {
    setInterval(() => console.log(++this.number), 1000);
  },
};

counter.increase(); //> 1 2 3 4 5

const counter = {
  number: 0,
  increase() {
    setInterval(function () {
      console.log(++this.number);
    }, 1000);
  },
};

counter.increase(); //> NaN, NaN, NaN, NaN, NaN

const counter = {
  number: 0,
  increase() {
    setInterval(
      function () {
        console.log(++this.number);
      }.bind(this),
      1000
    );
  },
};

counter.increase(); //> 1 2 3 4 5

A mi me gustan las arrow function por que son mas simples a la vista.

El código esta sencillo de entender pero la explicacion deberia ser mas aprofundida de por que funciona o enfatizar mas en el estandar ECM6
Resumen de la clase ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-08%20a%20la%28s%29%2016.43.40-46337f43-9cdc-4357-914c-bebf092c55ad.jpg) ![](https://static.platzi.com/media/user_upload/Captura%20de%20Pantalla%202024-11-08%20a%20la%28s%29%2016.43.55-8a4f02b5-543e-41b4-b7ee-9b40b00f835a.jpg)
```js const counter ={ number: 0, increase(){ setInterval(() =>console.log(++this.number), 100); }, }; counter.increase(); ```