Desafio 01
Quando você solicita entrada do usuário, como no caso de "qual o dia da semana?", é importante considerar que os usuários podem digitar de várias formas diferentes:
Podem usar letras maiúsculas ou minúsculas de forma inconsistente. Podem incluir ou não acentos, dependendo das convenções de digitação ou do teclado utilizado.
Para garantir uma boa experiência do usuário é necessário normalizar a entrada de alguma forma antes de realizar comparações.
O método .toUpperCase()
é uma funcionalidade em JavaScript que converte uma string para letras maiúsculas. Essa conversão é útil porque elimina a necessidade de considerar todas as variações de maiúsculas e minúsculas durante as comparações. Por exemplo:
- Se o usuário digitar "sábado", .toUpperCase() transforma isso em "SÁBADO".
- Se o usuário digitar "SÁBADO", .toUpperCase() mantém como "SÁBADO".
Código pra solução:
let diaDaSemana = prompt("Olá, qual o dia da semana:");
console.log("O dia da semana é: ", diaDaSemana);
diaDaSemana = diaDaSemana.toUpperCase();
if (
diaDaSemana === "SÁBADO" ||
diaDaSemana === "SABADO" ||
diaDaSemana === "DOMINGO"
) {
alert("Bom fim de semana!");
} else {
alert("Boa semana!");
}
Desafio 02
Mais um desafio que a gente pode ir afundo e analisar todas as possibilidades que o usuário pode digitar. Vamos entender o que abrange os números positivos e negativos:
- Se numero for maior que 0, é positivo.
- Se numero for igual a 0, é zero.
- Se numero for menor que 0, é negativo.
Estava tendo dificuldades com 0 porque esqueci de uma regra básica, o prompt retorna sempre uma string mesmo o usuário digitando um número. Então usei a função Number()
para converter a entrada do usuário (que é uma string) para um valor numérico (número).
Código pra solução:
let numero = prompt("Por favor, digite um número:");
numero = Number(numero);
if (numero > 0) {
alert("o número é positivo")
} else if (numero === 0) {
alert("O número é zero")
} else {
alert("O número é negativo")
}
Esta estrutura condicional (if, else if, else) é utilizada para determinar o que acontecerá com base no valor inserido pelo usuário, agora armazenado na variável numero.
if (numero > 0): *Verifica se numero é maior que zero. Se verdadeiro, exibe um alerta informando que o número é positivo.
else if (numero === 0): Se a condição do if for falsa, verifica se numero é exatamente igual a zero. Se verdadeiro, exibe um alerta informando que o número é zero.
else: Se nenhuma das condições anteriores for verdadeira (ou seja, se numero for menor que zero), exibe um alerta informando que o número é negativo.
Desafio 03
let pontuacaoJogo = prompt("Qual foi sua pontuação? ");
if (pontuacaoJogo >= 100) {
alert("Parabéns, você venceu!");
} else {
alert("Tente novamente para ganhar.");
}
Desafio 04
Nesse desafio vamos trabalhar com template string.
Template Strings: São uma forma conveniente de criar strings em JavaScript, permitindo a inclusão de expressões embutidas usando ${}.
"Criar uma string" em JavaScript se refere ao processo de definir e criar um valor textual, que pode ser composto por letras, números, caracteres especiais e até mesmo emojis. Em termos simples, uma string é um conjunto de caracteres que formam um texto.
Vantagens das Template Strings:
- Permitem uma escrita mais clara e concisa, especialmente ao incorporar valores de variáveis.
- Eliminam a necessidade de concatenação manual de strings e variáveis usando o operador +.
- Facilitam a criação de strings que abrangem várias linhas, melhorando a legibilidade do código.
Código pra solução:
let saldo = 300.5;
alert(`Seu saldo é ${saldo}`);
Desafio 05
Há duas formas que nós podemos fazer esse desafio:
- Usando o operador
+
para concatenar a string "Bem vindo " com o conteúdo da variável nome.
let nome = prompt("Por favor, digite seu nome:");
alert("Bem vindo, " + nome + "!");
- Usando uma template string delimitada por crases () para criar uma mensagem de boas-vindas dinâmica. A interpolação
${nome}
permite incluir o nome inserido pelo usuário diretamente na string.
let nome = prompt("Por favor, digite seu nome:");
alert(`Bem-vindo, ${nome}!`);