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?
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!