Почему происходит зацикливание

Только начал изучать js и что-то совсем не могу понять почему происходит зацикливание в 12 строке кода (while...), будьте так добры, объясните причину

var numberOfTrees = prompt("Number of trees");
while (typeof(numberOfTrees) != Number) {
  try {
    numberOfTrees = Number(numberOfTrees);
    if (numberOfTrees == 1) {
      document.write("One tree");
    } else {
      document.write("p".repeat(numberOfTrees));
    }
  } catch (e) {
    alert(e);
  }
}


Ответы (2 шт):

Автор решения: Igor

<!DOCTYPE html>

<head>
  <meta charset="utf-8">
  <title>MyVeryFirstEx</title>
</head>

<body>
  <script type="text/javascript">
    var numberOfTrees = prompt("Number of trees");

    while (typeof(numberOfTrees) != 'number') {
      console.log(numberOfTrees, typeof(numberOfTrees));
      numberOfTrees = Number(numberOfTrees);
      console.log(numberOfTrees, typeof(numberOfTrees));

      if (numberOfTrees == 1) {
        document.write("One tree");
      } else {
        document.write("p".repeat(numberOfTrees));
      }
    }
  </script>
</body>

→ Ссылка
Автор решения: Grundy

Результатом выполнения typeof является строка, поэтому и сравнивать надо со строкой:

while (typeof(numberOfTrees) != 'number'){
→ Ссылка