Also habe ich gelesen, dass ECMAScript6 (ES6) TCO ist. (grobes Beispiel ohne praktischen Zweck ...)Nutzen rekursive Methoden in ES6-Klassen TCO (Tail Call Optimization)?
const tcoFn = (acc) => {
if (acc > 10) {
return acc
} else {
return tcoFn(acc + 1)
}
}
Meine Frage ist, ob es bekannt ist, dass wir TCO in einer ES6 Klasse bekommen: Ich habe dies als bewiesen gesehen? So
class TCOish {
tcoMethod(acc) {
if (acc > 10) {
return acc
} else {
return tcoMethod(acc + 1)
}
}
} // End class definition
Nach einiger Suche auf der Interwebs bleibt dies mir unklar, und ich frage mich, ob es eine endgültige Antwort ist, dass jemand mich zeigen kann?
Auch erwähnenswert ist, dass dies in der Node-App verwendet wird, wo uns der Browser oder das Transpiling egal ist.
Vielen Dank.
Es ist nicht in Knoten implementiert – Amit
https://kangax.github.io/compat-table/es6/ – Andy
Testen für diese Optimierung ist einfach. Führen Sie einfach Ihre Funktion mit einer immensen Menge an Rekursion aus, und wenn Sie einen Fehler "zu viel Rekursion" erhalten, ist dies nicht der Fall. –