Prática com temporizadores e manipulação do DOM em JavaScript

Suponha que temos um input:

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

Vamos criar um temporizador que a cada segundo aumenta o valor do atributo value do nosso input em uma unidade:

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

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

Explique por que a função Number é usada no código acima. O que acontecerá se esta função não for usada neste código?

Задание 2

Suponha que no input, o atributo value inicie com o número 10. Inicie um temporizador que diminua este número em uma unidade a cada segundo.

Задание 3

Modifique a tarefa anterior para que, quando o conteúdo do input se tornar igual a zero, o temporizador pare de funcionar.