<aside> 💡 Een blok wordt ook aangeduid met de term scope. Denk hierbij aan een telescoop: je beperkt je blik tot een bepaald gebied. Een blok wordt begrensd door curly brackets { }.
</aside>
<aside> 💡 Declareer je een variabele ‘tegen de kantlijn’ dan bevindt die zich in de global scope.
</aside>
<aside> 💡 De declaratie van een var wordt geprioriteerd bij het uitvoeren van het script (hoisting), de toekenning van de waarde wordt dat echter niet wat kan leiden tot een undefined foutmelding.
</aside>
<aside> 💡 Een var en let die in de global scope (tegen de kantlijn) worden aangemaakt, zijn ook beschikbaar in blokken die hiërarchisch gezien daaronder worden aangemaakt.
</aside>
<aside> 💡 Ook een let wordt gehoist naar het begin van het script. Deze krijgt echter geen undefined waarde toegekend zoals bij een var, wat kan leiden tot een Reference error als je hem aanroept voordat hij gedefinieerd is.
</aside>
<aside> 💡 Het idee achter een constante is dat deze na het declareren geen nieuwe waarde meer toegekend kan krijgen. In andere programmeertalen kan deze waarde ook niet meer op andere manieren worden gewijzigd. Als er in JavaScript echter een object wordt opgeslagen in een constante kan dit na het declareren wel nog gewijzigd worden. Ken je een *primitive value* toe aan een constante, dan kan die niet gewijzigd worden.
</aside>