1
resposta

Desafio 1 - #7DaysOfCod

Eu tinha feito o desafio errado. Por falta de atenção achei que era pra colocar a mesma mensagem para todos os "If". Refiz o desafio e espero que agora esteja certo.

let numeroUm = 1
let stringUm = '1'
let numeroTrinta = 30
let stringTrinta = '30'
let numeroDez = 10
let stringDez = '10'

if ((numeroUm == stringUm) && (numeroUm !== stringUm)) {
    console.log (`As variáveis ${numeroUm} e ${stringUm} tem o mesmo valor, mas tipos diferentes`);
} else {
    console.log (`As variáveis ${numeroUm} e ${stringUm} não tem o mesmo valor`);
}

if (numeroTrinta === Number(stringTrinta)) {
    console.log (`As variáveis ${numeroTrinta} e ${stringTrinta} tem o mesmo valor e o mesmo tipo`);
} else {
    console.log (`As variáveis ${numeroTrinta} e ${stringTrinta} não tem o mesmo tipo`);
}

if ((numeroDez == stringDez) && (numeroDez !== stringDez)) {
    console.log (`As variáveis ${numeroDez} e ${stringDez} tem o mesmo valor, mas tipos diferentes`);
} else {
    console.log (`As variáveis ${numeroDez} e ${stringDez} não tem o mesmo valor`);
}

Com a ajuda da IA pude entender onde eu estava errando. Agora o resultado foi esse:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Olá, Patricia! Tudo bem?

Parabéns por persistir no desafio e refazer o código! Errar faz parte do processo de aprendizado, e usar a IA para entender onde estava o deslize é uma excelente forma de autorregulação, como o colega Maike mencionou no fórum sobre ser autodidata.

Seu código agora demonstra um ótimo domínio sobre a comparação de tipos em JavaScript:

Análise da sua Resolução

  • Comparação Implícita vs. Estrita: Você usou corretamente o operador == (que compara apenas o valor) e o !== (que verifica se o tipo é diferente) para os casos do número 1 e 10.
  • Conversão de Tipos: No caso do número 30, você utilizou a função Number(stringTrinta) para garantir que ambos fossem do mesmo tipo antes da comparação estrita ===, resultando na mensagem correta de "mesmo valor e mesmo tipo".
  • Fixação do Conhecimento: O fato de você ter notado a falta de atenção e corrigido a lógica para cada if mostra que você está saindo da leitura passiva para o aprendizado real, gerando o esforço cognitivo necessário para a memorização de longo prazo.

Dica de Especialista

Como você está no curso de personalização de estudos com ChatGPT, uma técnica legal para os próximos dias do #7DaysOfCode é pedir para a IA atuar como um "Code Reviewer" (Revisor de Código).

Exemplo de prompt:

"Analise meu código JavaScript abaixo e verifique se existe uma forma mais elegante ou performática de realizar essas mesmas comparações, explicando o porquê de cada sugestão."

Isso ajuda a identificar dúvidas e corrigir falhas na hora, desenvolvendo ainda mais sua autonomia.

Excelente trabalho, Patricia! Você sentiu que entender a diferença entre == e === foi o ponto principal para resolver esse desafio?