JavaScript Strings Básico
Strings e template literals
Em JavaScript, strings são sequências de caracteres imutáveis. Isso significa que qualquer método que parece modificar uma string na verdade retorna uma nova string, deixando a original intacta. Por isso, é comum atribuir o resultado a uma variável.
Os template literals (delimitados por crases) permitem interpolar expressões diretamente no texto usando ${expressão}. Eles também suportam múltiplas linhas sem caracteres de escape, tornando o código mais legível.
Além da interpolação, strings possuem diversos métodos úteis como toUpperCase(), slice(), includes(), trim(), split() e replace(). Todos retornam novos valores, reforçando a imutabilidade.
Neste card, você vai praticar a criação de strings com template literals, o uso de métodos e a importância de armazenar os resultados para não perder as transformações.
Pontos-chave
- Strings são imutáveis: métodos como
toUpperCase()retornam uma nova string. - Template literals usam crases e permitem interpolação com
${}. - Métodos de string não alteram o valor original; é preciso atribuir o retorno.
slice(),includes(),trim()esplit()são exemplos de métodos que criam novas strings ou arrays.- Template literals suportam múltiplas linhas e expressões JavaScript dentro de
${}.
// Exemplo: strings e template literals
const nome = "Ana";
const idade = 28;
// Interpolação com template literal
const mensagem = `Olá, ${nome}! Você tem ${idade} anos.`;
console.log(mensagem);
// Métodos de string (imutabilidade)
const maiusculas = nome.toUpperCase();
console.log(nome); // "Ana" (original não mudou)
console.log(maiusculas); // "ANA"
// slice e includes
const frase = "JavaScript é divertido";
console.log(frase.slice(0, 10)); // "JavaScript"
console.log(frase.includes("divertido")); // true
// trim e split
const entrada = " maçã, banana, laranja ";
const frutas = entrada.trim().split(", ");
console.log(frutas); // ["maçã", "banana", "laranja"]
// Template literal com expressão
const preco = 19.9;
const quantidade = 3;
console.log(`Total: R$ ${(preco * quantidade).toFixed(2)}`);