Фактическая цифра (оптимизация хвостовых вызовов)
// Factorialize a Number
function factorialize(num) {
if (num === 0) return 1;
return num * factorialize(num - 1);
}
factorialize(5);
// OR with Tail Call Optimization (https://stackoverflow.com/questions/33923/what-is-tail-recursion)
function factorialize(num, factorial = 1) {
if (num == 0) {
return factorial;
} else {
return factorialize(num - 1, factorial * num);
}
}
factorialize(5);
YosKa