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

Diferença de usar const e function

Olá, gostaria de saber se tem alguma diferença entre eu usar const e function. Por exemplo, para adicionar ou concluir uma tarefa, eu poderia usar function que continuaria a funcionar. É mais uma dúvida de conceito mesmo.

1 resposta
solução!

Oi, Celina, tudo bem?

Há diferenças sim. Vamos a elas:

As funções de seta (arrow functions) têm um comportamento diferente das declarações / expressões de função (declarations functions), então vamos dar uma olhada nas diferenças primeiro:

  • arrow functions
    • Uma expressão arrow function possui uma sintaxe mais curta quando comparada a uma expressão de função:
var frutas = [
    'Banana',
    'Laranja',
    'Limão',
    'Pinha'
  ];

  frutas.map(function(fruta) { 
    return console.log(fruta.length); 
  });

//com arrow function

frutas.map((fruta) => {
  return fruta.length;
});

Se única sentença em uma arrow function é `return`, podemos remover o`return` 
frutas.map(element => frutas.length);
  • não têm this - ela usa “escopo léxico” para descobrir qual deveria ser o valor de “this”. Em outras palavras, o escopo léxico usa "this" de dentro do corpo da função. Nessa aula conseguimos compreender melhor o contexto do this em arrow functions
  • Eles não têm argumentos: as arrow functions não têm um objeto de argumentos.
  • Arrow functions não são indicadas para criação de métodos.

A depender do contexto da sua função, por exemplo, se ela precisar valor de algum this a arrow function não é indicada mas sim a function declarations.

Se ficou alguma dúvida é só falar! Referências: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Functions/Arrow_functions