Veja se te ajuda: https://pt.stackoverflow.com/q/47165/101.
var
pode ter escopo global ou local, mas não de bloco, só o let
permite este último. Portanto lendo lá você nunca vai esquecer, porque quando vê o erro de alguém fica mais fácil fixar :)
Geralmente não se recomenda o estado global, embora se souber o que está fazendo, precisa saber muito, pode ser útil. Especialmente não é um grande problema quando se faz algo que JS foi criada originalmente que é um macaquinho dançar e mais nada.
O exemplo ali é local e se ele tivesse feito um exemplo para demonstrar aquilo veria que não funciona o que ele afirmou.
Curioso como as pessoas não sabem mais que teve época que todo mundo falava para uar o var
obrigatoriamente, justamente para não dar escopo global por acidente. Depois venho a recomendação de uso do let
para não dar escopo sem considerar o bloco. O que muita gente não fala mais que se você usar o let
em um navegador antigo seu código não funciona.
Eu falo que a internet é casa do capeta, todo mundo pode postar, até coisas errdas. E isso acontece intensamente. Esse probelma é mais perceptível (para alguns, tem gente que vai ateé aceitar isso), o problema maior é quando o erro é menos perceptível. Mais ainda quando há teimosia. Eu gosto de fazer posts sociológicos. Viou um monte de gente elogiando? Então aprenderam errado, vão treinar o erro, farão errado e vão ensinar errao para outras pessoas.
Mas do que aprender sobre o var
, o que de mais importante aprendeu com esse evento?
Enquanto eu escrevia aqui o kht já fazia exemplos mostrando o erro. É fácil aprender quando é algo objetivo, basta fazer experimentos (tem que tomar cuidado com casos que ele pode dar um resultado falso em certas situações, por isso precisa de alguma estudo também, mas este é simples de observar).
Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).