En JavaScript existen varias formas de declarar variables. Las más conocidas son var, let y const.
Aunque las tres permiten crear espacios para guardar valores, no funcionan exactamente igual. La diferencia principal está en el alcance de la variable y en si su valor puede cambiar o no.
Qué es una variable en JavaScript
Una variable es un espacio donde podemos guardar un valor para utilizarlo dentro de un programa.
Por ejemplo, podemos guardar un nombre, un correo electrónico, un número o cualquier otro dato que necesitemos usar más adelante.
let nombre = "Luisina";
Declarar variables con var
var es una forma antigua de declarar variables en JavaScript.
var nombre = "Suscríbete";
Una característica importante de var es que no respeta el alcance de bloque. Esto significa que, si se declara dentro de un bloque como un if, puede seguir siendo accesible fuera de ese bloque.
if (true) { var nombre = "JavaScript"; } console.log(nombre);
En este caso, el valor puede mostrarse fuera del bloque.
Por esa razón, en código moderno normalmente se recomienda usar let o const en lugar de var.
Declarar variables con let
let permite declarar variables cuyo valor puede cambiar durante la ejecución del programa.
let nombre = "JavaScript";
A diferencia de var, una variable declarada con let sí respeta el alcance de bloque.
if (true) { let nombre = "JavaScript"; } console.log(nombre);
Este código genera un error, porque la variable nombre fue declarada dentro del bloque y no existe fuera de él.
El navegador puede mostrar un error similar a:
ReferenceError: nombre is not defined
Qué significa alcance de bloque
Un bloque de código es una sección encerrada entre llaves.
{ // Código dentro del bloque }
Cuando una variable se declara con let dentro de un bloque, solamente puede utilizarse dentro de ese bloque.
if (true) { let mensaje = "Hola"; console.log(mensaje); }
Fuera del bloque, esa variable ya no está disponible.
Declarar variables con const
const se utiliza para declarar valores que no deben reasignarse después de haber sido definidos.
const email = "usuario@example.com";
Si intentamos asignar otro valor a esa misma constante, JavaScript mostrará un error.
const email = "usuario@example.com"; email = "otro_email@gmail.com";
El error puede indicar que no se puede asignar un nuevo valor a una constante.
TypeError: Assignment to constant variable
Cuándo usar var, let y const
Actualmente, lo más recomendable es usar let y const.
var: puede aparecer en código antiguo, pero no suele recomendarse para proyectos nuevos.let: se usa cuando el valor de la variable puede cambiar.const: se usa cuando el valor no debe reasignarse.
Ejemplo comparando var y let
if (true) { var variableVar = "Disponible fuera del bloque"; } console.log(variableVar);
Con var, la variable puede leerse fuera del bloque.
if (true) { let variableLet = "Disponible solo dentro del bloque"; } console.log(variableLet);
Con let, la variable solamente existe dentro del bloque donde fue declarada.
Ejemplo con const
const sitio = "Todo Academy"; console.log(sitio);
Este valor puede leerse sin problema.
const sitio = "Todo Academy"; sitio = "Otro sitio";
Pero no puede reasignarse después de su declaración.
Resumen de diferencias
| Declaración | Puede reasignarse | Alcance de bloque | Uso recomendado |
|---|---|---|---|
var | Sí | No | Código antiguo |
let | Sí | Sí | Variables que cambian |
const | No | Sí | Valores que no deben reasignarse |
Conclusión
var, let y const permiten declarar variables en JavaScript, pero cada una tiene un comportamiento diferente.
var pertenece a una forma más antigua de trabajar y no respeta el alcance de bloque.
let permite declarar variables que pueden cambiar y que solo existen dentro del bloque donde fueron creadas.
const permite declarar valores que no deben reasignarse durante la ejecución del programa.
Para proyectos actuales, lo más recomendable es utilizar const por defecto y let cuando sepas que el valor necesita cambiar.



