Практика на таймеры и работу с DOM в JavaScript

Пусть у нас дан инпут:

<input id="elem" value="1">

Давайте сделаем таймер, который каждую секунду увеличивать значение атрибута value нашего инпута на единицу:

let elem = document.querySelector('#elem'); setInterval(function() { elem.value = Number(elem.value) + 1; }, 1000);

Объясните, зачем в приведенном выше коде используется функция Number. Что будет, если не написать эту функцию в данном коде?

Пусть в инпуте в атрибуте value изначально записано число 10. Запустите таймер, который каждую секунду будет уменьшать это число на единицу.

Модифицируйте предыдущую задачу так, чтобы, как только содержимое инпута станет равно нулю, таймер прекратил свою работу.