1
resposta

[Dúvida] HOISTING DO VAR

No vídeo sobre Expressões de Função foi dito que o problema de Hoisting das funções anônimas pode ser mitigado com o uso do var, ao invés de let e const, porém fazendo um teste no terminal isso me voltou um erro:

console.log(soma(3, 8));
var soma = function(num1, num2) {return num1 + num2};

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

No caso da sua variável soma o hoisting está funcionando perfeito, ela foi considerada declarada (se não o erro seria: soma is not defined). O erro está sendo soma is not a function, ou seja quando você tentou usar a soma, ela não havia sido inicializada, seria o mesmo que:

var soma;
console.log(soma(3,8));

pra corrigir o exemplo seria só inverter:

var soma = function(num1, num2) {return num1 + num2};
console.log(soma(3, 8));