1
resposta

A pergunta errou >:)

let contador = 1;

while (contador < 4) { console.log('Executando a iteração ' + contador); contador = contador + 1; }

Eu disse que o console iria dizer que ''contador'' não esta definido, apareceu que ta errado, mais ta certo! pois na linha 4 (console.log('Executando a iteração' + contador) o ''contador'' de ''+ contador'' não esta com ''$'' antes e nem com o '' ` '' ou seja, não é considerado uma variavel pelo codigo! Ou eu estou errado? O certo seria assim (na minha teoria):

let contador = 1;

while (contador < 4) { console.log('Executando a iteração ' + ${contador}); contador = contador + 1; }

1 resposta

Olá, Pedro.

Tudo bem?

Entendo sua confusão, mas na verdade o código original está correto.

Em JavaScript, existem duas maneiras principais de concatenar, ou juntar, strings (texto) com variáveis. Uma delas é usando o sinal de mais (+), como no exemplo original:

console.log('Executando a iteração ' + contador);

Nesse caso, o JavaScript entende que deve juntar o texto 'Executando a iteração ' com o valor da variável contador. Isso funciona perfeitamente e é uma maneira muito comum de se fazer isso.

A outra maneira é usando template strings, que é o que você sugeriu. As template strings são delimitadas por acentos graves ( ), e permitem que você insira variáveis diretamente no texto usando a sintaxe ${variavel}. Então, o seu exemplo também está correto:

console.log(`Executando a iteração ${contador}`);

Ambos os códigos produzem o mesmo resultado, então você pode usar o que preferir ou o que achar mais legível. A questão é que a falta do $ e dos acentos graves no exemplo original não é um erro, apenas uma maneira diferente de se fazer a mesma coisa.

Espero ter ajudado e bons estudos!