Перекурсивные функции в Javascript: Хорошая или плохая практика?

Всегда я видел перекурсивные функции с плохими глазами, и отрицал их выбирая другие выборы.

Почему собиралось делать это?:

foo(0);
function foo(cont){
  console.log(cont);
  cont++;
  if(cont<50){
    foo(cont);
  }
}

Когда могут делать это:

foo();
function foo(){
  for(let cont=0;cont<50;cont++){
    console.log(cont);
  }
}

Я искал информацию, и нашел, что перекурсивные функции могут служить для того, чтобы оптимизировать Tail Call Optimization Recursion functional javascript

Во что я не нахожу его много почувствованным, если в предыдущих snippets мы симулируем больший цикл например: cont < 99999. función recursiva дай ошибку перед тем, как прибывать в конце концов в то время как for он завершает ее.

И взамен, если мы симулируем бесконечный цикл, for он это не реализует в то время как función recursiva да он это пробует и снова дает ошибку.

27
задан 29.10.2019, 15:24
0 ответов