1
resposta

[Dúvida] Posso substituir?

pessoal ao invés de fazer assim:

alert( Isso aí, você descobriu o número secreto! ${numeroSecreto } );

posso fazer assim?:

alert('Isso aí, você descobriu o número secreto! ' + numeroSecreto);

Se sim, qual a diferença e qual o mais prático?

1 resposta

Sim, você pode fazer das duas formas. Ambas as maneiras são válidas para concatenar strings em JavaScript, mas cada uma tem suas particularidades.

Forma 1: Template Literals

alert(`Isso aí, você descobriu o número secreto! ${numeroSecreto}`);

Vantagens:

  1. Sintaxe Limpa e Legível: Template literals são geralmente mais fáceis de ler e entender, especialmente quando se está concatenando várias variáveis ou expressões.
  2. Suporte a Expressões: Permitem a inclusão direta de expressões JavaScript dentro da string.
  3. Multilinha: Permitem a criação de strings multilinha de forma mais intuitiva.

Exemplo:

let numeroSecreto = 42;
alert(`Isso aí, você descobriu o número secreto! ${numeroSecreto}`);

Forma 2: Concatenação de Strings

alert('Isso aí, você descobriu o número secreto! ' + numeroSecreto);

Vantagens:

  1. Compatibilidade: Funciona em todas as versões de JavaScript, incluindo versões mais antigas que não suportam template literals.
  2. Simplicidade: Para concatenações simples, a abordagem com o operador + é direta e fácil de entender.

Exemplo:

let numeroSecreto = 42;
alert('Isso aí, você descobriu o número secreto! ' + numeroSecreto);

Comparação e Praticidade

  • Template Literals são mais práticos e legíveis, especialmente quando se está lidando com strings complexas ou com múltiplas variáveis/expressões.
  • Concatenação de Strings com + é mais direta e pode ser mais familiar para quem começou a programar antes do ECMAScript 6 (ES6), onde os template literals foram introduzidos.

Recomendações:

  • Use Template Literals quando precisar interpolar variáveis ou expressões dentro de uma string. A sintaxe ${} torna o código mais limpo e fácil de manter.
  • Use Concatenação com + se você está trabalhando com um ambiente que não suporta ES6 ou para concatenar uma pequena quantidade de strings simples.

Em resumo, template literals são geralmente preferidos no desenvolvimento moderno por sua flexibilidade e legibilidade.