Cualquier variable que no este dentro de funciones o bloques en el documento se accede de manera global.
Al declarar las variables dentro de una funci贸n, esta variable solo puede ser accedida dentro de la misma y dentro de la l贸gica anidada.
Si intentamos acceder a ella fuera de la funci贸n nos arroja un error de referencia ya que JavaScript no puede encontrar alguna referencia para la variable.
El alcance de bloque o Block Scope significa que las variables definidas dentro de un bloque solo pueden ser accedidas dentro del mismo bloque.
Un bloque es todo lo que encerremos en corchetes {}
<aside> 馃挕 En ECMASCRIPT6 se introdujeron nuevos conceptos incluyendo el uso de palabras claves como let y const. Con estas palabras tambi茅n se introdujo un nuevo concepto Block scope
</aside>
La redeclaraci贸n es volver a declarar una variable, y la reasignaci贸n es volver a asignar un valor.
var
聽puede ser redeclarada y reasignada.let
聽puede ser reasignada, pero no redeclarada.const
聽no puede ser redeclarada, ni reasignada. Su declaraci贸n y asignaci贸n debe ser en una l铆nea, caso contrario habr谩 un error.Existe un curso de聽ECMAScript 6+聽para que descubras las nuevas caracter铆sticas que agregan al lenguaje.
Ejemplos: