Institucional

  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status
Institucional
  • Sobre nós
  • Trabalhe Conosco
  • Para Empresas
  • Para Escolas
  • Política de Privacidade
  • Compromisso de Integridade
  • Termos de Uso
  • Canal de Ética
  • Código de Ética
  • Fale Conosco
  • Documentos Institucionais
  • Status

A Alura

  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes
A Alura
  • Como Funciona
  • Inteligência Artificial
  • Plataforma
  • Depoimentos
  • Instrutores(as)
  • Dev em <T>
  • Luri, a Inteligência Artificial da Alura
  • IA Conference
  • Cursos Imersivos
  • Perguntas Frequentes

Conteúdos

  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Conteúdos
  • Alura Cases
  • Imersões
  • Artigos
  • Podcasts
  • Artigos de educação corporativa
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Uma Empresa do GrupoLogo Grupo Alun

Outras empresas do Grupo Alun

  • FIAP
  • STARTSE
  • PM3
  • LUMINA

Ao submeter seu e-mail, você concorda com a política de privacidade da Alura.

Redes Sociais & Apps

instagram
youtube
tiktok
x
appStore
googlePlay
Alura

Até 38% OFF.

Condição válida até 31/07

00HORAS
:
00MIN
:
00SEG
Comece sua evolução
Comece sua evolução
  • Home

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Carreiras Alura

    Evolua com profundidade técnica, direção clara e aplicação prática.

    Jornadas guiadas do básico ao avançado com checkpoints práticos, desenhadas para quem busca profundidade e protagonismo técnico.

    Iniciante

    Comece do zero com uma trilha clara e progressiva.

    Fundamentos práticos para dar os primeiros passos com segurança e construir uma base sólida.

    Intermediário

    Continue sua evolução com cursos que conectam fundamentos, ferramentas e prática profissional. Ganhe autonomia, e avance para projetos mais completos.

    Avançado

    Aprofunde temas técnicos e estratégicos para enfrentar desafios mais complexos. Explore boas práticas, arquitetura, performance com visão profissional.

    CURSOS

    Ver mais cursos de Back-end
    • Pensamento computacional: fundamentos da computação e lógica de programação
    • Lógica de programação: mergulhe em programação com JavaScript
    • DDD: fundamentos do design orientado a domínio
    • ASP.NET: autenticação e autorização em APIs e aplicações web
    • Microsserviços: migração de monólitos e modularização

    CURSOS

    Ver mais cursos de Dados
    • Python para Dados: primeiros passos
    • Excel: domine o editor de planilhas
    • Engenharia de Dados: Orquestração de Pipelines com Apache Airflow
    • Power BI Desktop: construindo meu primeiro dashboard
    • Governança e Arquitetura de Dados

    CURSOS

    Ver mais cursos de Inteligência Artificial
    • IA: Explorando o Potencial da Inteligência Artificial Generativa
    • Engenharia de Prompt: Criando Prompts Eficazes para IA Generativa
    • Claude para Análise de Dados: prompts, integrações e automações
    • Agno: criando agentes e sistemas multiagente
    • Engenharia de software na era da IA: segurança de aplicações com agentes, MCPs e código gerado por IA

    CURSOS

    Ver mais cursos de Front-end
    • HTML e CSS: ambiente, estrutura e estilo
    • React: realizando testes avançados com Jest e Testing Library
    • React: integrando TypeScript em projetos
    • JavaScript: aprendendo a programar
    • React: aplicando arquiteturas de Micro frontends

    CURSOS

    Ver mais cursos de DevOps
    • Sistema Operacional Linux: fundamentos e administração prática
    • Containers e Docker: empacotamento, isolamento e gestão
    • Redes: dos conceitos iniciais à criação de uma intranet
    • Linux: gerenciando diretórios, arquivos, permissões e processos
    • Cibersegurança: Fundamentos e práticas integradas

    CURSOS

    Ver mais cursos de UX & Design
    • UX Research: mapeando a experiência da pessoa usuária
    • UX/UI Design: Entregando produtos digitais com IA
    • UI Design: Prototipação e animações interativas
    • Figma: Conhecendo o programa
    • Product Design: métricas e ciclo de vida do produto

    CURSOS

    Ver mais cursos de Inovação e Gestão
    • Canva: Criação de landing pages e e-mail marketing
    • Agilidade: como ela pode ajudar a criar um time de alta performance
    • Google Analytics 4: Extrair insights e configurar eventos
    • Management 3.0: gerencie o ambiente, não as pessoas
    • Automação de processos com n8n: Inteligência de dados para Marketing

    CURSOS

    Ver mais cursos de Mobile
    • React Native: Estilização e Layouts com Flexbox e StyleSheet
    • Flutter: Graphql e suporte offline
    • Android com Gemini: Trabalhando com textos e imagens na IA
    • Dart: trabalhando com orientação a objetos
    • React Native: Dominando Listas com FlatList e ScrollView

    CARREIRAS

    Ver mais carreiras
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA

    CURSOS

    • Engenharia de Prompt: Prompts Eficazes para IA Generativa
    • Claude Code: Criando sua Primeira Aplicação
    • Python: Crie sua Primeira Aplicação
    • Git e GitHub: Compartilhando e Colaborando
    • N8N: Fluxos de Trabalho Avançados

    CURSOS

    • Copilot Studio: Solução Multiagentes
    • Padrões de API HTTP e Modelagem de APIs
    • Python para Análise de Dados com SQL
    • Docker: Criando e Gerenciando Containers
    • Design com IA: Otimizando o Processo Criativo

    CURSOS

    • Model Context Protocol (MCP)
    • Spec-Driven Development: Dev Assistido por Agentes
    • Arquitetura de Sistemas Distribuídos com Java
    • Governança de Modelos e Reprodutibilidade
    • Pentest: Vulnerabilidades em Aplicações Web

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Skills & Go

    O Skills & Go é para Tech Leads, Product Managers, estrategistas e early adopters que transformam ideias em soluções de alto impacto. Em cursos ao vivo e 100% online, você domina a nova era da IA em tempo real.

    Aulas ao vivo

    Saiba mais
    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA

    Escolha seu Plano

    • Plus 2438% OFF
    • Pro 2438% OFF
    • Ultra Lab 2438% OFF

    Eventos Alura

    Nossos eventos são pensados para quem quer estar à frente das mudanças em tecnologia, IA e inovação. Em experiências presenciais, você acompanha tendências e se conecta com especialistas que estão moldando o futuro.

    Próximos eventos

    • IA Conference
    • Alura Signals
  • Talent Lab
  • IA
  • Artigos
  • Para Empresas
Ver planos
Links principais
  • Planos e Promoções
  • Carreiras

    Ver todas
    • Especialista em IA
    • Engenharia de IA
    • Ai native software engineering
    • Arquitetura de Soluções com IA
    • AI Product Design
    • Engenharia de Machine Learning
    • Desenvolvimento Front-End React
    • Engenharia de Dados
    • Cloud Security
    • Social Media Marketing
    • Engenharia de Agentes de IA
    Entrar Ver Planos
  • Área de Interesse

    Entrar Ver Planos
  • Aulas ao Vivo - Skills & Go

    • Agentic Engineering: orquestre multiplos agentes com confiabilidade
    • Building AI Products: transforme ideias em produtos reais com IA
    • AI Data Strategy: transforme dados em decisões estratégicas com IA
    Entrar Ver Planos
  • Senioridade

    Entrar Ver Planos
  • Eventos Alura

    • IA Conference
    • Alura Signals
    Entrar Ver Planos
  • Links complementares do menu mobile
  • Talent lab
  • Inteligência Artificial
  • Pós Graduações
  • Artigos
  • Para Empresas
  • Sobre a Alura
  • Grupo Alun
  • Entrar
    • Home
    • Carreiras
    • Skills & Go
    • Talent Lab
    • Inteligência Artificial
    • Pós Graduações
    • Artigos
    • Sobre a Alura
    • Grupo Alun
    LoginContato
    • Plano Pro 24
    • Plano Plus 24
    • Plano Ultra Lab 24
    • LinkedIn
    • Instagram
    • YouTube
    1. Página inicial
    2. Back-end
    3. Strings com JavaScript: o que são e como manipulá-las

    Strings com JavaScript: o que são e como manipulá-las

    11 min11 minutos de leitura

    11 min11 minutos de leitura

    Publicado: 12/08/2021

    1. O que é uma String?
    2. Usando Strings
    3. Conclusão

    Em programação, a todo momento trabalhamos com dados dos mais variados tipos, independentemente da linguagem.

    Várias peças de madeira estampadas com letras diversas espalhadas sobre uma superfície, partes de um jogo para formar palavras.

    Alguns exemplos são os booleanos (verdadeiro ou falso), números (inteiros, ponto flutuante) e alguns tipos mais complexos, como estruturas e objetos. Um dos tipos mais utilizados em programação são as strings, sequências (ou cadeias) de caracteres que usamos para, entre outras coisas, manipular textos.

    No exemplo a seguir, temos uma cadeia de caracteres representada como um array:

    const fruta = "banana"
    // ["b", "a", "n", "a", "n", "a"]
    

    Imagine que estamos desenvolvendo o código de uma aplicação em JavaScript. A validação dos campos de login e senha foi solicitada e é preciso verificar se o tamanho da senha de cada usuário atende à regra de ter um tamanho mínimo de 8 caracteres e impedir que haja espaços no início ou no fim do login cadastrado.

    Desse modo, precisaremos fazer o tratamento de strings.

    Como podemos fazer isso? Quais opções o JavaScript pode oferecer para esses casos? No texto a seguir, vamos ver essas possibilidades de trabalhar com strings na linguagem.

    O que é uma String?

    Por definição, strings são sequências de caracteres alfanuméricos (letras, números e/ou símbolos) amplamente usadas em programação. Em Javascript, uma string sempre estará entre aspas.

    const frase = "Mergulhando em tecnologia com Alura";
    

    ou

    const frase = ‘Mergulhando em tecnologia com Alura’;
    

    ou ainda

    console.log('Mergulhando em tecnologia com Alura')
    

    Espere! Mas eu declaro minhas strings com aspas duplas ou simples?

    Podemos colocar nossas strings entre aspas duplas ou simples. Para o JavaScript, não há diferença, já que ele considera as duas formas de declaração válidas. Mas, atenção, essa regra pode não se aplicar a outras linguagens. No Java ou C#, por exemplo, aspas simples são usadas para definir um caractere.

    Em alguns momentos, a string poderá ser um texto que contém aspas. Nesses casos, é preciso combinar a utilização das aspas simples com aspas duplas e vice-versa, porque um texto como: “Ela disse: “Adeus””, não funciona corretamente.

    Vamos ao exemplo:

    console.log('Ela disse: “Adeus!”')
    

    ou

    console.log(“Ela disse: 'Adeus!' ”)
    

    É importante ressaltar que, depois que a sequência de caracteres for definida, a string é imutável, ou seja, não poderá ter seu valor alterado. Então, como manipular a string?

    Sempre que manipulamos uma string, é criada uma nova instância dela por baixo dos panos, o que significa que será gerado um novo espaço na memória com uma cópia do valor da string. Por isso, temos que utilizar uma variável para armazená-la.

    Objeto String

    A linguagem JavaScript traz ainda como recurso um objeto global String que nos permite criar ou converter um tipo em uma string, veja o exemplo abaixo:

    const numero = 256
    const convertidoEmString = new String(numero)
    

    A saída após exibirmos a variável convertidoEmString usando o método console.log() é [String: '256']. Na construção do objeto usando new String(parâmetro), o parâmetro pode ser qualquer elemento do nosso código que queiramos transformar em string.

    Também é possível converter outros tipos primitivos (por exemplo, números e booleanos) em strings com o método toString():

    const num = 500
    console.log(num.toString()) //'500'
    
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Usando Strings

    É possível interpolar, concatenar, checar posições de caracteres ou ainda substituir partes de strings. Vamos ver algumas dessas utilizações com o JavaScript?

    Concatenando strings

    Quando falamos em concatenar strings, quer dizer que vamos juntar duas ou mais strings e formar uma nova. Observe o exemplo abaixo:

    let nome = "André"
    let sobreNome ="Silva"
    let nomeCompleto = "Meu nome completo é : " + nome + sobreNome
    

    Para concatenar as strings nome e sobreNome com a string de texto que é o valor de nomeCompleto, usamos o operador de adição (+). Podemos usar também +=, como no exemplo abaixo:

    let nome = "André"
    let saudacoes = "Seja bem-vindo "
    saudacoes += nome
    

    Dessa forma, temos a saída Seja bem-vindo André

    Interpolando strings (template strings)

    A interpolação de strings é um recurso bem interessante, presente em diversas linguagens. No JavaScript, é uma alternativa mais prática para manipular string sem a necessidade de fazer concatenação, porque para textos maiores, concatenar pode ser um pouco trabalhoso.

    Usando as chamadas template strings ou templates literais, a pessoa desenvolvedora consegue ter uma flexibilidade maior no trabalho com strings, além de facilitar a escrita e leitura do código.

    Retomando o exemplo da mensagem de boas vindas, veja abaixo a utilização de template strings:

    let nome = "André"
    let saudacoes =`Seja bem-vindo ${nome}`
    

    Veja como exemplo o poema “E agora, José?” de Carlos Drummond de Andrade:

    let nome = "André"
    let poema = `
       E agora, ${nome}?
       A festa acabou,
       a luz apagou,
       o povo sumiu,
       a noite esfriou,
       e agora, ${nome}?
       e agora, você?
       você que é sem nome,
       que zomba dos outros,
       você que faz versos,
       que ama, protesta?
       e agora, ${nome}?
    `
    

    Observe que, para a utilização da template string, ela deve estar entre acentos graves ( ) e, para fazer a interpolação, o valor ou variável deve estar dentro da estrutura ${valor}. Vale ressaltar que usando template strings temos a opção de utilizar a quebra de linha normalmente, sem caracteres de escape para isso, como \n.

    Métodos para strings

    Antes de começarmos, é importante ressaltar que o JavaScript diferencia strings como tipos primitivos (com aspas duplas ou simples) de objetos Strings (quando usamos a palavra reservada new). Mas, por baixo dos panos toda string, mesmo as que criamos com a chamada “forma literal”, por exemplo const texto = “Alura”, acaba convertida para um objeto do tipo String. Por isso, temos acesso a uma série de métodos e propriedades deste objeto.

    Agora que entendemos isso, vamos ver algumas propriedades e métodos úteis e bem práticos para trabalhar com strings em nossas aplicações.

    .length

    A propriedade length serve para nos informar o tamanho de uma string. E por que isso é útil?

    Caso sua aplicação tenha como uma das regras para criação de senhas (que em geral são alfanuméricas) o tamanho de 8 caracteres, usar length será uma boa opção, pois ajudará a contar a quantidade de caracteres da string.

    Para testar a propriedade length, vamos usar a string alura, que retornará o tamanho 5.

    const palavra="alura";
    console.log(palavra.length) //5
    

    Veja que length é exatamente a mesma propriedade que acessamos quando queremos descobrir o comprimento (ou seja, a quantidade de elementos) em um array.

    charAt()

    Com o método charAt() conseguimos acessar um caractere de uma string. Lembre-se que, por baixo dos panos, strings são arrays de caracteres, e em cada posição temos o caractere que compõe a string.

    Veja o exemplo abaixo:

    console.log("alura".charAt(3)) //r
    

    Após a execução do método charAt(), ela retornará o caractere r, que é o valor que consta na posição 3 da string - lembrando que arrays em JavaScript começam na posição 0 (zero).

    Outra alternativa será usar a notação de colchetes para encontrar um caractere da string, da seguinte forma:

    const palavra="Alura"
    console.log(palavra[0]) //A
    

    Será exibido o caractere A, ou seja, o que está na primeira posição da string. O resultado da execução do charAt() é uma string.

    Mas e se quisermos saber qual a posição de um caractere dentro da string?

    indexOf()

    Respondendo a pergunta anterior, existe a função indexOf(), que retorna a posição de um caractere dentro da string.

    Por exemplo:

    const palavra="Alura"
    console.log(palavra.indexOf("a")) //4
    

    O resultado é a posição 4. Porém, na utilização do indexOf(), fique atento caso o caractere que se busca na string seja encontrado em mais de uma posição, pois será retornada somente a primeira ocorrência. veja o código abaixo:

    const palavra="Divertidamente"
    console.log(palavra.indexOf("e")) //3
    

    O resultado da execução do indexOf() é um valor numérico.

    toUpperCase() e toLowerCase()

    São duas funções bastante utilizadas quando estamos trabalhando com string e precisamos deixar o texto todo em letras minúsculas (lower case) ou todo em maiúsculas (upper case). Vamos ver o código abaixo:

    const palavra="alura";
    console.log(palavra.toUpperCase()) //ALURA
    console.log(palavra.toLowerCase()) //alura
    

    Após a execução do código, o console irá exibir ALURA e alura respectivamente. O resultado da execução dos métodos toUpperCase() e toLowerCase() é uma nova string .

    substr()

    Outra função muito interessante é a substr() (substring), que permite que façamos a extração de parte de uma string, conforme o código abaixo:

    let frase= "Mergulhando em tecnologia."
    console.log(frase.substr(0,11)) // Mergulhando
    

    A função recebe como parâmetro o início e o fim da nova string a ser retirada da string principal. Na execução do código acima, temos como resultado a palavra Mergulhando. Bem útil, né?

    O resultado da execução do métodosubstr() é uma nova string .

    slice()

    Podemos utilizar também o método slice(), que usamos com arrays. Ele é similar ao substring() e retornará parte de uma string, desde que passemos nos parâmetros o índice de início e de fim. Veja abaixo:

    let frase= "Mergulhando em tecnologia."
    console.log(frase.slice(0,11)) // Mergulhando
    

    O resultado da execução do método slice() é uma nova string .

    replace()

    Com a função replace() temos a possibilidade de substituir parte de uma string por outra. Essa função recebe como parâmetros duas informações: a string que você quer substituir e a string que será colocada no lugar. Olhe o exemplo abaixo, em que precisamos substituir a string nomeusuario no texto padrão de comunicacao.

    let nome = "André";
    let comunicacao = " Olá, sr. nomeusurario, informamos que a partir da presente data o senhor tem 50% de desconto em nossa loja.";
    console.log(comunicacao.replace("nomeusurario",nome));
    

    Na execução deste exemplo, a string nomeusuario será substituída pelo conteúdo da variável nome. Como resultado da execução do método replace() teremos uma nova string.

    concat()

    O método concat() é uma opção para concatenar strings sem a utilização do operador de adição (+). Ele concatena duas strings, adicionando a nova string ao fim da anterior.

    Observe uma utilização do concat():

    let novaString = "Programe nas principais linguagens e plataformas. Explore linguagens como ";
    console.log(novaString.concat("JavaScript,").concat(" Python,").concat(" e C#."))
    

    O resultado obtido será: Programe nas principais linguagens e plataformas. Explore linguagens como [JavaScript](https://www.alura.com.br/artigos/javascript), [Python](https://www.alura.com.br/artigos/python), e C#.

    Para a execução do método replace() teremos como resultado uma nova string.

    split()

    O método split() é bem interessante, pois com ele conseguimos quebrar uma string com base em caracteres separadores que vamos informar para o método como parâmetro.

    Vamos ver um exemplo:

    let linguagens = "JavaScript;Java;C#;PHP;Python;Go;Vb;SQL;C;C++";
    let arrayLinguagens = linguagens.split(";");
    console.log(arrayLinguagens)
    

    Quando trabalhamos com o split(), devemos nos atentar, pois a execução gerará como resultado um array de strings com os elementos que foram separados com base no separador desejado. Portanto a execução do código resulta em um array como mostrado a seguir:

    [ 'JavaScript',
      'Java',
      'C#',
      'PHP',
      'Python',
      'Go',
      'Vb',
      'SQL',
      'C',
      'C++' ]
    

    Lembre-se que o resultado da execução do método split() é um array de strings.

    trim()

    O trim() remove os espaços em branco no início ou fim de uma string. Se em alguma situação precisarmos fazer uma verificação de que o usuário não digitou o login com espaços, faremos;

    let login = "   [email protected]      ";
    let loginSemEspaco = login.trim();
    console.log(loginSemEspaco); //[email protected]
    

    A variável loginSemEspaco conterá uma nova string, sem os espaços em branco no início ou fim que podem ter sido digitados. Então, quando executado o método trim(), o resultado é uma nova string.

    No JavaScript ainda temos algumas variações desta função como: trimEnd(),trimStart(),trimLeft() e trimRight(), teste também estas variantes e veja o resultado obtido, ok?

    Conclusão

    Neste artigo, vimos o que são strings e como podemos manipulá-las usando métodos do Javascript.

    Lembre-se que trabalhar com texto é uma atividade que todas as pessoas que desenvolvem farão em seus códigos em algum momento. Por isso é tão importante conhecer as strings e suas particularidades. E aí, curtiu? Vamos programar!

    Para saber mais sobre manipulação de strings, veja:

    • Curso Avançando com PHP: Arrays, Strings, Função e Web na Alura

    • Curso Fundamentos do JavaScript: Tipos, variáveis e funções na Alura

    • JavaScript replace: manipulando Strings e regex

    Estude 2 anos por R$ 158/mês. Planos com até 35% OFF. Ver planos.
    Banner da Alura convidando profissionais a desenvolver habilidades em inteligência artificial para acompanhar as transformações do mercado de tecnologia. A campanha destaca que quem utiliza IA produz mais, cresce na carreira e se torna mais competitivo, reforçando que a inteligência artificial deixou de ser tendência e passou a ser uma habilidade essencial. O banner incentiva a começar a aprender IA com os cursos da Alura e impulsionar a transformação digital.

    Avalie este artigo

    Foto de andre-bessa1

    Autor(a)

    andre-bessa1

    Explore por tópico

    • Mobile
    • Back-end
    • Front-end
    • DevOps
    • UX & Design
    • Dados
    • Gestão & Negócios
    • Inteligência Artificial
    • Cibersegurança
    • Cloud

    Leia também

    • Alura
      27/08/2018

      Python: Qual a diferença entre == e is?

      Ler mais
    • 18/01/2021

      Django e Django Rest: Diferenças e aplicações

      Ler mais
    • 25/04/2017

      Profissões de tecnologia (TI) em alta: profissionais mais requisitados no Brasil

      Ler mais
    Ver mais conteúdos

    Inscreva-se em nossa Newsletter

    Fique por dentro de conteúdos, insights e oportunidades do universo tech. Receba novidades e lançamentos direto no seu e-mail.