Call Stack

JavaScript 🟢 Junior

Definition

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.
#core#interview#debug