Запуск таймера в JavaScript

Хотя функция setTimeout и не предназначена для создания таймеров, однако их все равно можно делать с ее помощью, если воспользоваться рекурсией:

javascriptlet i = 0;

function timer() {
  setTimeout(function() {
    console.log(++i);
    
    timer(); // вызовем сами себя
  }, 1000);
}
timer();

Остановить такой таймер можно просто не дав случится рекурсии:

javascriptlet i = 0;

function timer() {
  setTimeout(function() {
    console.log(++i);
    
    if (i < 10) { // запускаем, только если счетчик меньше 10
      timer();
    }
  }, 1000);
}
timer();
Задание 1

Выведите в консоль число 0. Через секунду выведите число 1, через две секунды выведите число 2, через 3 секунды выведите число 3. И так далее до бесконечности.