Sobes.tech
Junior — Middle

Wat zijn de verschillen tussen het declareren van variabelen met let en var in JavaScript?

sobes.tech AI

Antwoord van AI

Variabelen gedeclareerd met var hebben function scope, terwijl let blokscope heeft. Dit betekent dat een variabele met let alleen binnen de dichtstbijzijnde accolades beschikbaar is, bijvoorbeeld binnen een lus of voorwaarde.

Bovendien wordt var gehoist (hoisting) en geïnitialiseerd met de waarde undefined voordat de code wordt uitgevoerd, terwijl let ook wordt gehoist, maar niet wordt geïnitialiseerd; proberen de variabele te benaderen vóór de declaratie zal een fout veroorzaken (Temporale Dode Zone).

Voorbeeld:

function test() {
  console.log(a); // undefined
  // console.log(b); // ReferenceError
  var a = 1;
  let b = 2;
}

Ook staat var herdeclaratie van dezelfde variabele binnen dezelfde scope toe, wat tot fouten kan leiden, terwijl let dat niet doet.