Do meu caderno de erros direto pra cá: a explicação que eu levaria pra uma entrevista hoje, em inglês.
A resposta, como você fala na entrevista
const: the BINDING can't be reassigned. The value itself can still mutate — const arr = []; arr.push(1) works. What fails is arr = [].
let: can be reassigned. Block-scoped.
var: avoid. It ignores block boundaries (if, for) and only respects FUNCTION boundaries — which causes the closure bug above.
Ler é fácil. Falar isso em inglês, sob pressão, com alguém avaliando, é outra história. No VagaGringa esse tópico vira flashcard com repetição espaçada, cai em quiz e entra no simulado.
Treinar este tópico no app