Da trilha de JavaScript Este conceito ainda não saiu como card do dia. ir para o card de hoje

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() e split() são exemplos de métodos que criam novas strings ou arrays.
  • Template literals suportam múltiplas linhas e expressões JavaScript dentro de ${}.
strings_template_literals.js
// 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)}`);

Exercícios

  1. 1
    Fácil

    Saudação personalizada

    Crie uma função saudacao(nome, idade) que retorna uma string no formato "Olá, [nome]! Você tem [idade] anos." usando template literals.

    Resolver
  2. 2
    Médio

    Transformando e verificando strings

    Crie uma função processarTexto(texto) que:

    • Remove espaços extras no início e no fim.
    • Converte para letras maiúsculas.
    • Verifica se contém a palavra "JAVASCRIPT".
    • Retorna uma string no formato: "Texto: [texto_processado] | Contém 'JAVASCRIPT': [true/false]". Use template literals para montar o retorno.

    Resolver
  3. 3
    Desafio

    Relatório de produtos com formatação

    Dado um array de objetos produtos (cada um com nome, preco e quantidade), crie uma função gerarRelatorio(produtos) que retorna uma string formatada em múltiplas linhas usando template literals. Cada linha deve seguir o formato: [nome]: [quantidade] unidades - Total: R$ [preco * quantidade com 2 casas decimais] No final, adicione uma linha com o valor total geral. Use métodos de string para deixar o nome em maiúsculas e remover espaços extras.

    Resolver

Continue estudando