Porque uma das funções ele definiu como constante, e todo o restante como function normal?
Porque uma das funções ele definiu como constante, e todo o restante como function normal?
Oii, Paulo!
Como você não postou na aula, vou dar uma resposta sem ter de base o código que você se refere. A escolha entre definir uma função como constante (usando const
) ou como uma declaração de função tradicional (usando function
) pode depender de alguns fatores e preferências da pessoa desenvolvedora. Tem algumas razões para isso:
Escopo e imutabilidade: Quando você define uma função como constante, tá utilizando uma expressão de função atribuída a uma variável. Isso significa que o nome da função não pode ser reatribuído, garantindo que a referência à função permaneça a mesma durante o tempo de execução. Isso pode ser bom pra evitar bugs acidentais onde a função poderia ser sobrescrita.
const minhaFuncao = function() {
console.log("Sou uma função constante");
};
Hoisting: As declarações de função tradicionais são "içadas" (hoisted), o que significa que você pode chamá-las antes de sua definição no código. Já as funções definidas como constantes não são içadas da mesma maneira, então você precisa defini-las antes de usá-las.
// Isso funciona
minhaFuncaoTradicional();
function minhaFuncaoTradicional() {
console.log("Sou uma função tradicional");
}
// Isso não funciona
minhaFuncaoConstante();
const minhaFuncaoConstante = function() {
console.log("Sou uma função constante");
};
Estilo e consistência: Algumas equipes ou pessoas desenvolvedoras preferem usar expressões de função atribuídas a constantes para manter um estilo consistente.
Arrow functions: Muitas vezes, funções constantes são usadas em conjunto com arrow functions, que têm uma sintaxe mais curta e não vinculam seu próprio this
.
const minhaArrowFunction = () => {
console.log("Sou uma arrow function");
};
Espero ter ajudado.
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓