DevPath · Aprenda a programar ESPTEN

Cadeias de texto (strings)

Criar strings e template literals

Texto está em tudo

Um nome de usuário, a mensagem de boas-vindas do seu app, uma URL, o texto de um botão... quase tudo que o usuário lê é texto. Em programação, a gente chama esse texto de string, e você vai lidar com elas o tempo todo. Vamos começar pelo básico.

O que é uma string?

Uma string (cadeia) é texto: uma sequência de caracteres. É escrita entre aspas. O JavaScript aceita três formas:

const a = "aspas duplas";
const b = 'aspas simples';
const c = `crases (backticks)`;

As três criam o mesmo tipo de valor. As aspas duplas e simples são equivalentes; use umas ou outras conforme convier (por exemplo, aspas simples se o texto contém aspas duplas).

Concatenar com +

A forma clássica de unir textos é o operador +:

const nome = "Ana";
const saudacao = "Olá, " + nome + "!";
console.log(saudacao); // "Olá, Ana!"

Funciona, mas com muitas variáveis vira um quebra-cabeça de aspas e sinais de +, fácil de errar: você esquece um espaço, falta um +... e lá vai depurar.

Template literals: seu novo melhor amigo

Aqui chega o momento realmente útil. Usando backticks (`) você escreve o texto de uma vez e encaixa valores com ${...}, bem no lugar onde eles vão:

const nome = "Ana";
const idade = 25;
const frase = `${nome} tem ${idade} anos`;
console.log(frase); // "Ana tem 25 anos"

Dentro de ${ } você pode colocar qualquer expressão, não só variáveis:

const preco = 10;
console.log(`Total com imposto: ${preco * 1.21} €`);

Além disso, os template literals respeitam as quebras de linha tal como você as escreve, sem caracteres estranhos no meio. Leia em voz alta: ${nome} tem ${idade} anos se entende quase como uma frase normal. Por isso são a forma recomendada hoje em dia para construir texto: depois que você testa, não volta mais pro +.

Exemplos

Concatenação vs template literal

const nome = "Ana";
const idade = 25;
console.log("Antigo: " + nome + " (" + idade + ")");
console.log(`Moderno: ${nome} (${idade})`);

Expressões dentro do template

const a = 4;
const b = 6;
console.log(`${a} + ${b} = ${a + b}`);
Coloque isto em prática

O DevPath é um curso prático: aqui você lê a teoria; no app você a coloca em prática com exercícios que rodam de verdade, offline.

Comece grátis no app →
Comprimento e acesso por índice →