Práctica con temporizadores y trabajo con el DOM en JavaScript

Supongamos que tenemos un input:

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

Hagamos un temporizador que cada segundo incremente el valor del atributo value de nuestro input en uno:

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

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

Explica por qué en el código anterior se utiliza la función Number. ¿Qué pasaría, si no se escribiera esta función en este código?

Задание 2

Supongamos que en el input, en el atributo value, está escrito inicialmente el número 10. Inicia un temporizador que cada segundo disminuya este número en uno.

Задание 3

Modifica la tarea anterior para que, tan pronto como el contenido del input sea igual a cero, el temporizador detenga su funcionamiento.