Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

diferença entre arrow functions e declarations functions

gostaria de saber a diferença

1 resposta
solução!

Oi Adriano, arrow functions nao são apenas syntactic sugars, mas tem diferença no uso sim. Tem casos em que vc dever usar um ou outro.

As arrow functions tem essas limitacoes

  1. Nao tem seus bindings ao this ou super
  2. Nao tem a keyword new.target .
  3. Nao pode usar call, apply e bind pq ela está num escopo diferente
  4. Nao pode usar elas como construtoes
  5. Nao pode usar yield dentro delas

Basicamente o escopo da funcao eh diferente

// aqui temos um objeto simples com duas funcoes 
// uma arrow funciton e outra declaration 
// a arrow function usa o escopo de cima, enquanto a declaration usa do objeto em si. 
var obj = { // does not create a new scope
    i: 10,
    b: () => console.log(this.i),
    c: function() {
        console.log(this.i);
    }
}
obj.b(); // retorna undefined pois neste caso o this é o Window
obj.c(); // retorna 10 pois ele referencia o objeto pai. 

Abraços