¿Cuál es la diferencia entre Var y Let?
Introducción
Los nuevos estándares de Javascript han traído nuevas características y funcionalidades que están cambiando la forma en como este lenguaje ha sido concebido, tanto así que Typescript prácticamente ha revolucionado la forma en como estamos programando en Javascript; sí, ya sabemos que Typescript al final es código javascript escrito de otra forma y que al final, la traducción de este nos dá puro JS nativo. Sin embargo, poder crear tipos, interfaces, clases, poder encapsular atributos y métodos es algo que hace unos años atrás, era mas complicado de hacer con Javascript.
Con ES2015, llegó algo que sin duda es tremendamente potente, una nueva forma de declarar variables, que se asemeja mucho más a los lenguajes de programación tradicionales. Con esta nueva característica, podremos declarar variables cuyo alcance sea local, sin afectar variables globales y, al ser su alcance local, su ciclo de vida empieza y termina en determinado bloque.
Pero entonces, ¿Cuál es la diferencia entre declarar una variable con var y con let?
Cuando hacemos uso de var
, la variable podrá ser accedida a lo largo de toda la función, mientras que con let
, la variable solo tendrá alcance dentro del bloque donde fue definida. Miremos algunos ejemplos.
Cuando usamos let
, podemos obtener algunas errores, en el ejemplo podemos apreciar que cuando queremos acceder a una variable que no está definida, entonces obtendremos un ReferenceError
, cosa que no pasa si la variable fue declarada con var
, donde obtendremos como resultado undefined
. Otro error que puede ocurrir, es definir dos variables con el mismo nombre, usando let
, por ejemplo;
También podemos usar la definición con let
en bucles, por ejemplo:
Mas sobre let y var
Para un estudio más profundo sobre let, puedes hacer click acá
Conclusión
Espero que con este pequeño articulo haya quedado claro el comportamiento de las variables usando las palabras reservadas let
y var
, si tienes algún comentario al respecto, puedes dejarlo más abajo. Nos vemos después.