Практика на таймери и работа с 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

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