ecma script 6

Diferencias entre var, let y const (Javascript ES6)




Antes utilizábamos solo el «var» para definir una variable, sin embargo en esta versión podemos utilizar el «let» y el «const».

Estos son los puntos importantes:

  1. Su característica principal es que las variables declaradas con «let» y «const» no pueden ser RE-DECLARADAS, que no es el mismo a re-definirse. Feature que si puede tener el «var».


// Trabajando con var

var nombre = «juan»;
var nombre = «pedro»;

console.log(nombre); // pedro.

// Resultado correcto


// Trabajando con let

let nombre = «juan»;
let nombre = «pedro»;

console.log(nombre); // ERROR

// Porque ya declaramos la variable anteriormente.

// Sí podríamos hacer algo así:

let nombre = «jose»;
    nombre = «juan»;

// Aquí la estamos re-definiendo no re-declarando.

  1. Tanto «let» y «const» tienen la misma regla del scope cuando se declaran, es decir que: el «scope» de «let» y «const» es de tipo bloque, esto significa que solo pueden ser llamadas o utilizadas dentro de las llaves {}, de otra manera dará error, lo cual no sucede con «var».

// Por ejemplo:

function saludar() {
    let nombre = «luis»;
    return «hola» + saludo;
}

console.log(nombre); // ERROR

//Ya que la variable solo está definida dentro de la funcion.
//También sucede con «const».

  1. La diferencia entre «const» y «let» es la siguiente:

// con «let» podemos declararla primero:

let name = «juan»;

// y luego re-asignar o re-definir la variable
// a otro nombre (por ejemplo) e imprimirla en pantalla:

name = «jose»;
console.log(name); // jose

// Resultado correcto

Con «const» no podemos hacer esto, el nombre const se refiere a una variable constante es decir siempre será la misma.

const name = «sandoval»;
name = «Luis»;
console.log(name); // ERROR

Resumen:

Let puede re-asignarse pero no re-declararse.

Const no puede re-asignarse y tampoco re-declararse. Siempre será constante.

Y esto aplica para variables y arrays.

Dejar un comentario

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