Bom dia meu aluno. Com base no que você aprendeu, você pode fazer assim:
<script>
// não sabemos ainda se é um texto ou um número
var nome = prompt("Digite seu nome");
/* na própria condição while ele tenta converter para número
com parseInt. Se for número, o resultado será a string convertida para número, se for uma string, o resultado será NaN porque o parseInt
não consegue converter uma string como "Flávio" para um número. Agora vem o pulo do gato!
A função isNaN retorna true caso o valor não seja um número e false caso ele seja. Queremos repetir com while enquanto o
valor digitado é um número! Se for NaN, é porque você digitou
uma string. É por isso que usamos `== false`. Se não deu
problema na conversão e é um número, é porque você digitou
um número e não um texto.
*/
while(isNaN(parseInt(nome)) == false) {
nome = prompt ("Digite sua nome");
}
alert(nome);
</script>
É possível evitar o == false
dessa forma:
while(!isNaN(parseInt(nome))) {
nome = prompt ("Digite sua nome");
}
O exclamação inverdade o resultado booleano. Se for true, vira false, se for false vira true.
Existem outras formas de fazer isso, por exemplo, através de expressões regulares, mas isso você aprenderá nos cursos de JavaScript, pois nosso foco aqui é lógica.
Por fim, essa é uma solução possível com base no que você aprendeu.
Sucesso e bom estudo, meu aluno!