“Hijsen” of “Hoisting” is een gedrag in JavaScript waarbij variabele- en functiedeclaraties naar de bovenkant van hun bevattende scope worden verplaatst tijdens de compilatiefase. Dit betekent dat je variabelen en functies kunt gebruiken voordat je ze daadwerkelijk gedeclareerd hebt.
Het is belangrijk om te benadrukken dat alleen de declaraties worden verplaatst, niet de initialisaties. Als een variabele of functie wordt geïnitialiseerd na het gebruiken ervan, zal het resultaat ‘undefined’ zijn.
Bijvoorbeeld:
```
console.log(a); // geeft ‘undefined’, maar geen fout, want ‘a’ is gehesen
var a = 5;
```
Hoisting kan verwarrend zijn en wordt daarom vaak beschouwd als een slechte praktijk. Het is beter om variabelen te declareren en initialiseren aan het begin van een scope. Let op dat hoisting niet van toepassing is op variabelen gedeclareerd met ‘let’ en ‘const’ in ES6 en latere versies.