Junior
Hoe werkt de stack in JavaScript?
sobes.tech AI
Antwoord van AI
De Call Stack is een gegevensstructuur die de uitvoering van functies bijhoudt. Wanneer een functie wordt aangeroepen, wordt deze bovenop de stack geplaatst. Wanneer de functie eindigt, wordt deze uit de stack verwijderd. JavaScript is single-threaded, dus heeft het één call stack.
Belangrijkste operaties:
- Push: Een functie toevoegen aan de bovenkant van de stack.
- Pop: Een functie verwijderen van de bovenkant van de stack.
Voorbeeld:
// Functie A roept functie B aan
function A() {
B(); // B wordt op de stack geplaatst
console.log('A klaar'); // Wanneer B klaar is, gaat A verder
}
// Functie B roept functie C aan
function B() {
C(); // C wordt op de stack geplaatst
console.log('B klaar'); // Wanneer C klaar is, gaat B verder
}
// Functie C print eenvoudig in de console
function C() {
console.log('C klaar'); // C eindigt, wordt uit de stack verwijderd
}
A(); // Aanroep van A. A wordt op de stack geplaatst.
// Stack: [A] -> [A, B] -> [A, B, C] -> [A, B] -> [A] -> []
Stack-tracking:
| Actie | Stack |
|---|---|
A() wordt aangeroepen |
[A] |
B() wordt aangeroepen |
[A, B] |
C() wordt aangeroepen |
[A, B, C] |
C() eindigt |
[A, B] |
B() eindigt |
[A] |
A() eindigt |
[] |
Stack Overflow-fouten treden op wanneer de stack te vol raakt door te veel oproepen (bijvoorbeeld bij oneindige recursie) en geen nieuwe functies meer kan toevoegen.