MEJOR SITIO PARA DESARROLLADORES WEB

Basic JavaScript

JS Tutorial JS Syntax JS Variables JS Operators JS If Conditions JS Loops JS Strings JS Numbers JS Functions JS Objects JS Dates JS Arrays JS Sets JS Maps JS Math JS RegExp JS Data Types JS Errors JS Debugging JS Events JS Programming JS References JS UTF-8 Characters

JS Advanced

JS Versions JS Functions JS Objects JS Classes JS Iterations JS Promises JS Modules JS HTML DOM JS Windows JS Web API JS AJAX JS JSON JS jQuery JS Graphics JS Examples JS Objects

JavaScript. W3Schools en español. Lecciones para principiantes

Ua En De Fr Ru

JavaScript La palabra clave let

La palabra clave let se introdujo en ES6 (2015).

Las variables definidas con let no se pueden volver a declarar.

Las variables definidas con let deben declararse antes de su uso.

Las variables definidas con let tienen alcance de bloque.

No se puede volver a declarar

Las variables definidas con let no se pueden redeclarar.

No se puede redeclarar accidentalmente una variable.

Con let no puedes hacer esto:

Ejemplo

let x = "John Doe";

let x = 0;

// SyntaxError: 'x' ya ha sido declarado

Con var puedes:

Ejemplo

var x = "John Doe";

var x = 0;

Alcance del bloque

Antes de ES6 (2015), JavaScript solo tenía alcance global y alcance de función.

ES6 introdujo dos nuevas palabras clave importantes de JavaScript: let y const.

Estas dos palabras clave proporcionan Alcance del bloque en JavaScript.

No se puede acceder a las variables declaradas dentro de un bloque { } desde fuera del bloque:

Ejemplo

{
  let x = 2;
}
// x NO se puede utilizar aquí

Las variables declaradas con la palabra clave var NO pueden tener alcance de bloque.

Se puede acceder a las variables declaradas dentro de un bloque { } desde fuera del bloque.

Ejemplo

{
  var x = 2;
}
// x PUEDE usarse aquí

Redeclaración de variables

Redeclarar una variable usando la palabra clave var puede generar problemas.

Redeclarar una variable dentro de un bloque también redeclarará la variable fuera del bloque:

Ejemplo

var x = 10;
// Aquí x es 10

{
var x = 2;
// Here x is 2
}

// Aquí x es 2
Try it Yourself »

Redeclarar una variable usando la palabra clave let puede resolver este problema.

Redeclarar una variable dentro de un bloque no redeclarará la variable fuera del bloque:

Ejemplo

let x = 10;
// Aquí x es 10

{
let x = 2;
// Aquí x es 2
}

// Aquí x es 10
Try it Yourself »

Soporte del navegador

La palabra clave let no es totalmente compatible con Internet Explorer 11 o versiones anteriores.

La siguiente tabla define las primeras versiones del navegador con soporte completo para la palabra clave let:

Chrome 49 Edge 12 Firefox 44 Safari 11 Opera 36
Mar, 2016 Jul, 2015 Jan, 2015 Sep, 2017 Mar, 2016

Redeclaración

Se permite redeclarar una variable JavaScript con var en cualquier parte de un programa:

Ejemplo

var x = 2;
// ahora x es 2

var x = 3;
// ahora x es 3
Try it Yourself »

Con let, NO se permite redeclarar una variable en el mismo bloque:

Ejemplo

var x = 2;    // Permitido
let x = 3;    // No permitido

{
let x = 2;    // Permitido
let x = 3     // No permitido
}

{
let x = 2;    // Permitido
var x = 3     // No permitido
}

Redeclarar una variable con let, en otro bloque, ESTÁ permitido:

Ejemplo

let x = 2;    // Permitido

{
let x = 3;    // Permitido
}

{
let x = 4;    // Permitido
}
Try it Yourself »

Dejar Izar

Las variables definidas con var se elevan a la parte superior y se pueden inicializar en cualquier momento.

Significado: Puede utilizar la variable antes de declararla:

Ejemplo

This is OK:

carName = "Volvo";
var carName;
Try it Yourself »

Si quieres aprender más sobre izado, estudia el capítulo Elevación con JavaScript.

Las variables definidas con let también se elevan a la parte superior del bloque, pero no se inicializan.

Significado: El uso de una variable let antes de declararla dará como resultado una ReferenceError:

Ejemplo

carName = "Saab";
let carName = "Volvo";
Try it Yourself »


Comentarios