ETZADEV
Entendiendo var, let y const en JavaScript
Compartir

Entendiendo var, let y const en JavaScript

JavaScript ofrece tres maneras principales de declarar variables: var, let y const. Cada una tiene sus propias características, ventajas y desventajas. En este blog, exploraremos estas diferencias y proporcionaremos ejemplos de uso para comprender mejor cómo y cuándo utilizarlas.

var

Ventajas

  • Compatibilidad: Ha sido parte de JavaScript desde sus inicios, por lo que es compatible con todas las versiones del lenguaje.
  • Reasignación: Permite reasignar valores a la misma variable.

Desventajas

  • Scope: Tiene scope de función, lo que puede llevar a comportamientos inesperados si se declara dentro de bloques.
  • Hoisting: Las variables declaradas con var se elevan (hoisted) al principio del scope, pero su inicialización no se realiza hasta que se ejecuta el código.

Scope

  • Función: Las variables var están limitadas al contexto de la función en la que se declaran. Si se declara fuera de una función, se convierten en variables globales.

Ejemplo

snippet.js
1function exampleVar() {
2 if (true) {
3 var message = "Hello, world!";
4 }
5 console.log(message); // Hello, world!
6}
7
8exampleVar();

let

Ventajas

  • Scope: Tiene scope de bloque, lo que significa que las variables solo existen dentro del bloque en el que se declaran.
  • No Hoisting: Aunque se eleva la declaración, no se inicializa hasta que la línea de código se ejecuta.

Desventajas

  • Compatibilidad: No es compatible con versiones anteriores de JavaScript (antes de ES6).

Scope

  • Bloque: Las variables let están limitadas al bloque en el que se declaran (dentro de {}).

Ejemplo

snippet.js
1function exampleLet() {
2 if (true) {
3 let message = "Hello, world!";
4 console.log(message); // Hello, world!
5 }
6 console.log(message); // ReferenceError: message is not defined
7}
8
9exampleLet();

const

Ventajas

  • Inmutabilidad: Las variables declaradas con const no pueden ser reasignadas.
  • Scope: Tiene scope de bloque.

Desventajas

  • No Reasignación: Una vez asignado un valor, no puede ser cambiado. Sin embargo, los objetos y arrays pueden mutar internamente.

Scope

  • Bloque: Similar a let, las variables const están limitadas al bloque en el que se declaran.

Ejemplo de const con Valores Primitivos

snippet.js
1function exampleConst() {
2 if (true) {
3 const message = "Hello, world!";
4 console.log(message); // Hello, world!
5 }
6 console.log(message); // ReferenceError: message is not defined
7}
8
9exampleConst();

Comportamiento de const con Arrays y Objetos

Aunque const impide la reasignación, los valores internos de arrays y objetos pueden ser mutados.

Arrays

snippet.js
1const myArray = [1, 2, 3];
2myArray.push(4);
3console.log(myArray); // [1, 2, 3, 4]
4
5myArray = [5, 6, 7]; // TypeError: Assignment to constant variable.

Objetos

snippet.js
1const myObject= {
2 name: "Juan",
3 age: 30
4};
5myObject.age= 31;
6console.log(myObject); // { name: "Juan", age: 31 }
7
8myObject= { name: "María", age: 25 }; // TypeError: Assignment to constant variable.

Conclusión

Elegir entre var, let y const depende del contexto y las necesidades específicas de tu código. Generalmente, se recomienda usar let y const para aprovechar el scope de bloque y evitar problemas de hoisting. const es ideal para valores que no deben cambiar, mientras que let es útil para variables que pueden ser reasignadas.

Espero que esta explicación te ayude a entender mejor las diferencias y usos de var, let y const en JavaScript. ¡Feliz codificación!

D
Daniel7/1/2026, 4:48:09Tema: Buen contenido

Muy bien explicado

comentario.formNuevo

* Tu correo electrónico permanecerá privado. Los campos requeridos están señalados con *