JavaScriptOptimización de llamadas de cola


Sintaxis

  • solo devolver call () implícitamente como en la función de flecha o explícitamente, puede ser una declaración de llamada de cola
  • función foo () {barra de retorno (); } // la llamada a la barra es una llamada de cola
  • función foo () {bar (); } // la barra no es una llamada de cola. La función devuelve undefined cuando no se da retorno
  • const foo = () => bar (); // bar () es una llamada de cola
  • const foo = () => (poo (), bar ()); // poo no es una llamada de cola, bar es una llamada de cola
  • const foo = () => poo () && bar (); // poo no es una llamada de cola, bar es una llamada de cola
  • const foo = () => bar () + 1; // la barra no es una llamada de cola, ya que requiere un contexto para devolver + 1

Observaciones

TCO también se conoce como PTC (Proper Tail Call) como se menciona en las especificaciones ES2015.

Optimización de llamadas de cola Ejemplos relacionados