Saltar al contenidoIr al contenido
Diferencias entre var, let y const en JavaScript
JavaScript

Diferencias entre var, let y const en JavaScript

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ónPuede reasignarseAlcance de bloqueUso recomendado
varSíNoCódigo antiguo
letSíSíVariables que cambian
constNoSí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.

Compartir
Escrito por
deybi
Soy un joven dominicano dedicado a la creación de páginas web, con un proyecto de vida claro y una visión enfocada en el crecimiento, la disciplina y el trabajo constante. Me esfuerzo cada día...

Deja un comentario