Call Stack
JavaScript 🟢 JuniorDefinition
Pile LIFO (Last In, First Out) qui trace les contextes d'execution des fonctions en cours. Chaque appel de fonction empile un frame, chaque return le depile.
Analogie
Une pile d'assiettes : tu poses la derniere en haut et tu reprends toujours celle du dessus.
Exemple de code
function a() { b(); }
function b() { c(); }
function c() { console.trace(); }
a();
// c -> b -> a -> global
Cas d'usage
Lire les stack traces d'erreurs et comprendre les depassements de pile (stack overflow).
Anti-pattern
Recursion infinie sans condition d'arret qui provoque un Maximum call stack size exceeded.