Variables en JavaScript: var, const y let
En este post te cuento qué es una variable en JavaScript y las diferentes formas de declararlas.
Una variable es una referencia a un valor. En las versiones de JavaScript anteriores a ES6, las variables se declaran con la palabra clave var
.
A partir de ES6 se introdujeron dos nuevas palabras clave para definir variables: const
y let
.
Veamos algunos ejemplos:
var x = 1;
var y = true;
var z = 'Aprendiendo JavaScript';
En la nueva sintaxis de JavaScript desde ECMAScript 6 en adelante, utilizamos las nuevas palabras clave:
let x = 2;
let y = false;
let z = 'EcmaScript 6';
const a = 3;
const b = true;
const c = 'Una cadena de texto';
La diferencia entre let
y const
radica en que las variables declaradas con const
no pueden ser reasignadas otro valor luego de declararlas. Ejemplo:
let valor1 = 10;
valor1 = 25; // el valor de variable 'valor1' cambió a 25
const valor2 = 30;
valor2 = 40; // error
Es importante la elección correcta entre let
y const
de manera que podamos comunicarle mejor nuestras intenciones al próximo programador que lea el código.
Personalmente, recomiendo utilizar con mayor frecuencia const
, y dejar let
únicamente para aquellos casos en que el valor de la variable será modificado posteriormente, como por ejemplo dentro de bucles for
o algunas operaciones matemáticas.
Una vez declaradas las variables y asignado su valor, podemos utilizarlas de diferentes formas, por ejemplo para operaciones aritméticas:
const a = 40;
const b = 30;
const c = a + b; // c ahora equivale a 70
let d = c / 2; // d equivale ahora 35
Diferencias entre var
, const
y let
Palabra Clave | Ámbito | Reasignable | Redeclarable |
---|---|---|---|
var | Función | Si | Si |
let | Bloque | Si | No |
const | Bloque | No | No |
Si tienes dudas sobre el Hoisting en JavaScript te lo explico en mi post sobre el tema.
Cómo nombrar una variable
Al elegir el nombre de una variable debemos tener en cuenta ciertas reglas y limitaciones.
- Los nombres de una variable sólo pueden contener letras, números,
_
, y$
; - No pueden comenzar con un número;
- Distinguen mayúsculas y minúsculas, es decir que
x
yX
serán variables diferentes; - No se permite usar ciertas palabras reservadas de JavaScript, es decir las que poseen un significado especial, como por ejemplo
if
,for
,break
,function
, etc;