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

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

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

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

javascriptlet elem = document.querySelector('#elem');

setInterval(function() {
  elem.value = Number(elem.value) + 1;
}, 1000);
Задание 1

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

Задание 2

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

Задание 3

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