Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] o meu código só funciona quando eu retiro o "nome" e a "idade" do let, alguém sabe o porquê?

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

1 resposta
solução!

Bom dia!

var, let e const não são tipos de variáveis como int, string. Javacript não define tipos. Aqui, a diferença é com relação ao escopo/visibilidade da variável ou constante.

Existem três tipos de declarações em JavaScript.

  • var: Declara uma variável, opcionalmente, inicializando-a com um valor.
  • let: Declara uma variável local de escopo do bloco, opcionalmente, inicializando-a com um valor.
  • const: Declara uma constante de escopo de bloco, apenas de leitura.

Você pode declarar uma variável de três formas:

  • Com a palavra chave var. Por exemplo, var x = 42. Esta sintaxe pode ser usada para declarar tanto variáveis locais como variáveis globais.
  • Por simples adição de valor. Por exemplo, x = 42. Isso declara uma variável global. Essa declaração gera um aviso de advertência no JavaScript. Você não deve usar essa variante.
  • Com a palavra chave let. Por exemplo, let y = 13. Essa sintaxe pode ser usada para declarar uma variável local de escopo de bloco. Veja escopo de variável abaixo.

O const deixa de ser "variável", pois não se modifica. Então é tratada como "constante"

Como você está declarando suas variáveis dentro do mesmo escopo, com mesmo nome, irá gerar erro. Você está tentando declarar duas variáveis com o mesmo nome.

Para solucionar, na linha 9 e 10 você pode retirar a palavra "let", o que irá fazer você reutilizar as variáveis declaradas nas linhas 2 e 3.

Espero ter ajudado. Se sua dúvida foi sanada, marque este tópico como solucionado.

Bons estudos!