Proste rekurencyjne wypisanie kolejnych liczb.
Jestem uczony w stylu starej daty, napisałbym bez wahania w stylu Old.
function logNumbersRecursivelyOld(start, end) {
console.log(`Recursively looping from ${start} until ${end}`);
function recurse(left, right) {
console.log(`Hitting index ${left}`);
if (left < right) {
recurse(left + 1, right);
}
}
recurse(start, end);
}
Niedawno usłyszałem, że tak nadmiarowo to się już nie pisze, tylko tak:
function logNumbersRecursivelyNew(start, end) {
console.log(`Recursively looping from ${start} until ${end}`);
function recurse(left) {
console.log(`Hitting index ${left}`);
if (left < end) {
recurse(left + 1);
}
}
recurse(start);
}
Wywołanie jawne recurse(left, right) pisze się teraz recurse(left) a aktualna wartość argumentu right idzie w closure?
Jak dla mnie stary (przestarzały?) styl z jawnym przekazaniem obu argumentów function recurse(left, right) jest bardziej czytelny.