Ce face let / const
let și const declară variabile. Cu let poți da mai târziu o valoare nouă variabilei. Cu const nu poți: orice încercare dă eroare.
Ambele sunt valabile doar în blocul în care au fost declarate (între acoladele { }). Vechiul var nu respectă blocurile și produce erori greu de găsit, așa că în codul nou folosește doar let și const.
Regulă practică: folosește const peste tot și treci la let doar când chiar trebuie să schimbi valoarea.
Exemple
Exemplul 1: let se poate schimba, const nu
let scor = 10;
scor = scor + 5;
console.log(scor);
const PI = 3.14;
try {
PI = 3;
} catch (eroare) {
console.log(eroare.message);
}
Rezultat
15
Assignment to constant variable.
Exemplul 2: Conținutul unui const se poate modifica
const blochează doar legătura variabilei cu valoarea. Elementele unui tablou sau proprietățile unui obiect declarat cu const se pot schimba.
const cos = ["pâine"];
cos.push("lapte");
console.log(cos);
const setari = { tema: "deschisă" };
setari.tema = "întunecată";
console.log(setari);
Rezultat
[ 'pâine', 'lapte' ]
{ tema: 'întunecată' }
Exemplul 3: Valabilitatea în bloc
const mesaj = "în afara blocului";
if (true) {
const mesaj = "în interiorul blocului";
console.log(mesaj);
}
console.log(mesaj);
Rezultat
în interiorul blocului
în afara blocului
Greșeli frecvente
- Declari aceeași variabilă de două ori cu
letîn același bloc. PrimeștiSyntaxError: Identifier 'x' has already been declared. - Folosești o variabilă înainte de linia unde a fost declarată cu
letsauconst. PrimeștiReferenceError: Cannot access 'x' before initialization. - Crezi că
constface un tablou neschimbabil. Pentru asta existăObject.freeze().
Comenzi înrudite
typeof: Returnează tipul unei valori ca text: „string”, „number”, „boolean”, „object” etc.destructuring: Destructurarea: scoate valori din obiecte și tablouri direct în variabile.if / else: Rulează un bloc de cod doar dacă o condiție este adevărată.