Introducción
Una declaración de variable simplemente le dice a la computadora que existe una variable y con qué valor debe comenzar. Al igual que otros lenguajes de programación, JavaScript también permite la declaración de variables.
Hay tres palabras clave en JavaScript que se pueden usar para declarar variables: let , var y const . Cada palabra clave tiene diferentes reglas e implicaciones sobre cómo se pueden usar las variables que crean.
- let: la palabra clave let declara una variable local con ámbito de bloque, y opcionalmente la inicializa en un valor. Ámbito de bloque significa que la variable solo está disponible dentro del bloque en el que se declaró, que generalmente se indica con llaves {}.
- var: la palabra clave var declara una variable de alcance global o de función y, opcionalmente, la inicializa en un valor. El alcance de la función significa que la variable solo está disponible dentro de la función en la que se declaró. Las variables globales están disponibles en todo el código.
- const: la palabra clave const declara una variable constante inmutable con ámbito de bloque, que es una variable que no se puede reasignar. Las constantes también se denominan "variables inmutables", pero ese es un nombre inapropiado ya que en realidad son variables, solo aquellas que no se pueden reasignar.
¿Cuál es la diferencia entre var, let y const?
La palabra clave var es la forma más antigua de declarar variables en JavaScript y es compatible con todos los navegadores. Las palabras clave let y const se agregaron más recientemente al idioma y no son compatibles con navegadores más antiguos.
Si necesita admitir navegadores más antiguos, puede usar var en lugar de let o const. Si no necesita admitir navegadores más antiguos, puede usar let o const. Si desea que su variable sea inmutable, use const.
Aquí hay unos ejemplos:
var x = 1;
let y = 2;
const z = 3;
x = 4; //OK
y = 5; //OK
z = 6; //Error
Como puede ver, las variables var y let se pueden reasignar, pero las variables const no.
Otra diferencia entre var y let / const es que las variables var tienen alcance de función, mientras que las variables let y const tienen alcance de bloque.
Esto significa que las variables var solo están disponibles dentro de la función en la que fueron declaradas. Por ejemplo:
function foo() {
var x = 1;
}
foo();
console.log(x); // ReferenceError: x is not defined
Por otro lado, las variables let y const solo están disponibles dentro del bloque en el que fueron declaradas. Por ejemplo:
function foo() {
let y = 2;
const z = 3;
}
foo();
console.log(y); // ReferenceError: y is not defined
console.log(z); // ReferenceError: z is not defined
Entonces, para resumir, las principales diferencias entre var, let y const son:
- var tiene alcance de función mientras que let y const tienen alcance de bloque.
- Las variables var se pueden reasignar mientras que las variables let y const no.
- Las variables var se declaran con la palabra clave var, mientras que las variables let y const se declaran con las palabras clave let y const, respectivamente.
- Las variables const son inmutables mientras que las variables let y var no lo son.
Conclusión
En este tutorial hemos visto cuál es la diferencia entre var, let y const en JavaScript.