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

Bienvenido al blog de Parzibyte. Vas a encontrar tutoriales y tips de programación, bases de datos, redes, electrónica e informática general. Ejemplos de código, aplicaciones gratuitas y open source

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.

 

6 comentarios

  1. […] Nota: recomiendo leer la explicación de let, var y const en JS […]

  2. […] Es muy simple. Si no sabes qué es let y por qué la usamos en lugar de var, te invito a leer este tutorial. […]

  3. […] cierto, este post está más actualizado; usa constantes, querySelector y otras cosas que los anteriores no. Si bien esto no afecta el funcionamiento, nos […]

  4. […] La función se ve corta porque estamos usando funciones flecha. Si no sabes qué es const, mira esto. […]

  5. […] aquí lo que es const en JavaScript, y aquí lo que son las funciones flecha en […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: