Javascript

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ÁmbitoReasignableRedeclarable
varFunciónSiSi
letBloqueSiNo
constBloqueNoNo

Si tienes dudas sobre el Hoisting en JavaScript te lo explico en mi post sobre el tema.

Hoisting en JavaScript

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 y X 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;