$cat~/glossario/stack-overflow.md

Stack Overflow

JavaScript

Erro quando a pilha de chamadas excede o limite por recursão ou aninhamento excessivo.

stack-overflow.mdmarkdown
01

seção

Explicação

Stack Overflow — Erro quando a pilha de chamadas excede o limite por recursão ou aninhamento excessivo.

Estoure a pilha quando recursão não termina ou cadeias de chamada_member excedem limite do motor (~10k–50k frames).

Converta recursão profunda em loop ou trampolim. DOM aninhado extremo também pode contribuir.

02

seção

Exemplo

snippetJavaScript
function loop() { return loop(); }// loop(); // RangeError: Maximum call stack size exceeded
03

seção

Modo de uso

  • Definir caso base em toda recursão

  • Preferir iterativo para árvores profundas

  • Limitar profundidade em parsers user-facing

04

seção

Armadilhas comuns

  • Recursão mútua sem guarda

  • Spread args massivos em chamada única

05

seção

Termos relacionados