Deja de usar "var" para declarar variables en Javascript


JavaScript es un lenguaje que no deja de evolucionar, antes usaba "var" para definir todas las variables, era simple y funcionaba.

Ahora sabemos es que más conveniente declararlas utilizando "const" y "let".

Veamos cómo hacerlo y por qué.

Declarando verdaderas Constantes

Una variable, por nombre, significa un valor cambiante. Aunque no hay nada malo en declarar una variable y luego no modificarla, si tratamos de escribir código que tenga sentido semántico, entonces deberíamos distinguir entre variables y constantes.

Una constante es lo opuesto a una variable,  es un valor declarado que no cambia. Históricamente, para definir a una constante usábamos letras mayúsculas.

En vez de confiar en la convención, la introducción de la palabra clave const nos da una opción explícita para declararlas que no nos permite modificarlas.

Para declarar una constante, simplemente hay que modificar la palabra clave var por const y nuestra variable declarada no podrá ser modificada.


Para almacenar relaciones numéricas, como los impuestos o una constante de conversión entre unidades. El otro lugar donde verás const es declarando funciones
Ahora la función no puede ser sobreescrita.

Solucionando los problemas de ámbito (scope)

JavaScript sufría la falta de claridad de ámbito (scope) que a veces generaba problemas y frustraciones al momento del desarrollo. Acá hay un resumen de las peculiaridades del scope en JS.

  • Se podía usar dos veces var con una variable (re-declaración)
  • Las variables declaradas fuera de funciones eran globales por defecto (objeto global)
  • Se podían utilizar las variables antes de ser declaradas (hoisting)
  • Las variables en bucles reutilizaban la misma referencia (closures)
Usar let clarifica y soluciona muchas de esas peculiaridades, por ejemplo:

Re-declaración 

Es simple, no se puede redeclarar una variable que se creo con let.

En el ámbito global, las variables declaradas con var son añadidas al objeto global como una propiedad, mientras que las declaradas con let no.



Comentarios

Entradas populares de este blog

Menú hamburguesa sólo con CSS

¿Cómo usar Google Fonts?

Barra de navegación responsive (Mobile first)