Const, var y let en JavaScript: diferencias y explicación

Introducción

JavaScript ha evolucionado y mejorado en los últimos años. Ya tiene un poco de tiempo que se introdujeron estas nuevas características, pero igualmente le puede servir a alguien este tutorial que expone el uso de Const, var y let en JavaScript

Const, var y let en JavaScript

Var

Con esta palabra reservada definimos variables. Por ejemplo:

var nombre = "Luis";
var edad = 15;
var sueldo = 5000;
var mascota = {};

Pero tiene algunas desventajas. La primera es el scope o ámbito y la segunda es la redeclaración.

Por ejemplo, si no estamos en modo estricto esto es válido:

var nombre = "Luis";
var nombre = "Maggie";

Estamos definiendo 2 veces la misma variable pero con valores distintos.

Ahora veamos el scope. Con var, el scope de la variable es la función más cercana. Veamos este código:

function foo(arreglo){

  //Ojo: yo podría acceder a baz aquí
  for(var i = 0; i < arreglo.length; i++){
    var baz = arreglo[i];
  }

  // O aquí
  console.log("Oye baz, estás ahí?", baz);
}

Lo que sería normal es que la variable baz sólo estuviera viva dentro del ciclo for. Pero no; si más tarde queremos acceder a ella estará disponible incluso fuera del for, tomando toda la función como scope.

Para ejemplificar, si yo llamo a esta función…

foo([1,2,3]);

Esto aparece en la consola:

var fuera del scope
var fuera del scope

Cosa que no debería pasar, pues sólo debería ser accesible dentro del ciclo.

Let

Let puede ser usado como remplazo de var y no tienes que preocuparte por nada si es que escribes buen código. Recomiendo leer por qué no necesitamos punto y coma ni var en JS

Para declarar hacemos esto:

let nombre = "Luis";
let edad = 15;
let sueldo = 5000;
let mascota = {};

 

Esta palabra reservada declara variables pero respeta el scope, y no lo extiende a la función más cercana. Si la declaramos en un if, sólo dentro del if será accesible.

Si la declaramos en un for, sólo dentro del for estará accesible. Veamos el ejemplo de arriba pero ahora con let:

let en JavaScript
let en JavaScript

Exacto, no está definida y sólo podemos acceder a ella dentro del ámbito en donde fue definida. Esto tiene muchas ventajas, pues a veces como desarrolladores tenemos tantas variables y tal vez una de ellas esté siendo declarada 2 veces o chocando con otra, introduciendo bugs.

Con let nada de eso pasa y escribimos código más seguro.

Const en JavaScript

Terminamos con const. Esta palabra reservada define una constante, pues hace tiempo no podíamos definir una constante en JavaScript.

Recordemos que una constante nunca cambia su valor. Para definirla hacemos esto:

const RUTA_API = "api.com";

Y si luego queremos cambiarla…

const en JavaScript
const en JavaScript

El intérprete no nos deja cambiarla. En cambio, si la hubiéramos definido con var las cosas serían distintas.

Por cierto, el scope de const es igual que let; totalmente seguro.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.