Me tirem uma duvida,
Se eu quisesse fazer o inverso, ou seja, aceitar apenas strings e repetir o prompt enquanto o usuário digita números. Como vcs sugeririam?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Me tirem uma duvida,
Se eu quisesse fazer o inverso, ou seja, aceitar apenas strings e repetir o prompt enquanto o usuário digita números. Como vcs sugeririam?
Olá Daniel, tudo bem?
Não entendi muito bem a sua dúvida. Na verdade todos os dados digitados através do prompt já são strings. Tanto que é preciso usar um parseInt() ou parseFloat() para transformá-lo em um número.
Tudo bem! desculpe, O que eu quis dizer é que tem um exercício que versa sobre as funções prompt, while e IsNaN. No código abaixo, o usuário precisa, necessariamente, entrar com um número, caso contrário a função alert é executada novamente, correto?
var idade = parseInt(prompt("Digite sua idade"));
while( isNaN(idade) ) { idade = parseInt(prompt("Digite sua idade"));}
alert(idade);
Minha dúvida é como eu faria o inverso, ou seja, o usuário é obrigado a entrar com um texto e, caso entre com o número, a função alert se repete. Existe uma função pra isso?
não sei se fui claro, mas obrigado.
Você pode usar a palavra reservada typeof da seguinte forma:
while(typeof nomeDaVariavel === 'string')É muito importante usar os três iguais neste caso ao invés de 2. Dois iguais são uma comparação de valor, três iguais representam uma comparação de tipos.
Porém, é como o André falou , tudo que for digitado pelo prompt() é uma string, a menos que você faça uma conversão. Então você receberia "32" como texto, por exemplo, ao invés de número
Olá Daniel,
Entendi o que pretende fazer. Uma opção seria a abaixo:
var nome = prompt("Digite seu nome");
while( ! isNaN(nome) ) {
nome = prompt("Digite seu nome");
}
alert(nome);Você retira o parseInt(). Com ele o programa tentaria transformar uma palavra em número e você obteria um NaN (Not a Number).
Depois inverte a lógica dentro do while. O operador ! significa not. Enquanto você digitar somente números ele solicitará para digitar uma palavra novamente.
Testa aí e nos diga o resultado.
Bons estudos!