En vanilla JavaScript, las variables se declaran usando la palabra clave var
. En ES6, ahora, usted puede definir las variables utilizando let
y const
palabras clave también. Las tres palabras clave tienen una sintaxis similar para la declaración e inicialización de variables, pero difieren en su alcance y uso. Conozcamos las diferencias entre estas 3 palabras clave.
Palabra clavevar
‘var
‘ tiene la sintaxis tradicional de definición de variables. Si no se inicializa la variable en la declaración var
, se le asigna automáticamente el valor de JavaScript undefined
.
1) Alcance
2) Elevación de las declaraciones var
Tenga en cuenta que las variables declaradas con la palabra clave var
están sujetas a elevación. Hoisting significa que si declaramos una variable (declarada pero no inicializada) al final de una función, el runtime la izará a la parte superior y no tendremos ningún error si hubiéramos utilizado esa variable antes de ser declarada.
Lee más: JavaScript Hoisting
3) Si no se utiliza la palabra clave ‘var’
En JavaScript, si no se utiliza la palabra clave var
para la declaración de la variable (declaración implícita), entonces la variable se creará en el ámbito global. e.g.
for(index=0; index< array.length; index++){//index is in global scope //code}
El bucle for anterior creará una variable llamada index
en el ámbito global. Si otra persona también está usando una variable global index
, entonces acabas de sobrescribir su variable.
Para evitar dar a la variable un ámbito global, debe utilizar la palabra clave var
en su declaración de variables.
palabra clavelet
let
es muy similar a la palabra clave var
– con más restricción en el ámbito.
palabra clave const
-
const
declara una variable con ámbito de bloque con un valor constante. Es básicamente la declaración de una variable con la palabra clavevar
donde el valor de la variable es constante y no puede ser cambiado. -
const
sigue los mismos principios de alcance que la palabra clavelet
. - si usted sabe que la variable que está declarando no puede y no debe permitirse reasignar, entonces declárela con const, de lo contrario utilice la palabra clave let.
Sintaxis y Uso
const PI = "3.14";PI = 12;//Uncaught TypeError: Assignment to constant variable.