Не присваивается значение к переменной JS

function loop(value, fPredicate, fUpdate, fBody) {
    for (value; fPredicate(value); value = fUpdate(value))
    {
        fBody(value);
    }
}

loop(0, n => n < 3, n => n++, console.log);

value = fUpdate(value)

Проблема: значение value не обновляется, происходит переполнение стека.


Ответы (1 шт):

Автор решения: vsemozhebuty

Замените n => n++ на n => ++n: постинкремент сначала возвращает значение переменной, а потом увеличивает её. И так как вы используете в функциях не одну и ту же переменную, а копируемое из неё значение, последующее изменение нигде не сохраняется.

→ Ссылка