1
私は、ECMAScript6(ES6)がTCOを実行できることを読んでいます。私の質問は、我々がES6クラスでTCOを得ることが知られているかどうかではありませんES6クラスの再帰メソッドはTCO(テールコール最適化)を利用しますか?
const tcoFn = (acc) => {
if (acc > 10) {
return acc
} else {
return tcoFn(acc + 1)
}
}
(...ない実用的な目的で、粗例):私はこれのように立証見たことがありますか?だから、
class TCOish {
tcoMethod(acc) {
if (acc > 10) {
return acc
} else {
return tcoMethod(acc + 1)
}
}
} // End class definition
Interwebs上のいくつか検索した後、これは私には不明のままで、誰かが私を指すことができるという決定的な答えがある場合、私は疑問に思って?
また、これはブラウザまたは蒸散について気にしないNodeアプリケーションで使用されます。
ありがとうございます。
ノードに実装されていません – Amit
https://kangax.github.io/compat-table/es6/ – Andy
この最適化のテストは簡単です。膨大な量の再帰で関数を実行するだけで、 "再帰が多すぎる"というエラーが発生した場合は、そうではありません。 –