Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Declarar string
  2. Acessar caracteres
  3. Percorrer uma string
  4. Tamanho de uma string
  5. Alterar um caractere
  6. Concatenar strings
  7. Parâmetro/agumento e retorno
  8. Copiando string
  9. Métodos Classe String
  10. Entender como copiar string
  11. Comparar strings locale, case-insensitive

Um objeto String é objeto que armazena uma sequência de caracteres justapostos e possui atributos e métodos para manipulação de seus dados. Uma string em JS é imutável.

Nesta parte do tutorial vamos aprender apenas as operações básicas e uso de strings como declaração, acesso, alteração, iteração e cópia. Na seção Classes Nativas: String todos os métodos nativos para manipular strings serão vistos.

Um string é definida como uma sequência(vetor) de caracteres delimitados por (") ou (') como pode ser visto na sintaxe abaixo. O uso de (`) será visto em JavaScript Básico: Interpolação.

Abaixo, as sintaxes para declarãção de string em JS:

Sintaxe
let nome_variavel = "conteudo string" //imutável
let nome_variavel = new String("conteudo string")
Exemplo 1
let str = "uma string js";
console.log(str);
Saída
um string js

Para declaração de string quebrada em multilinhas, utilizamos (\) como quebra de linha como mostrado no exemplo abaixo:

Exemplo 1.1
let str = "uma \
string \
em \
javascript"

console.log(str);
Saída
uma string em javascript

Para acessar um caráter ou elemento contido em uma determinada posição ou índice dentro de uma string, podemos utilizar o indexador [] que recebe um índice ou posição desejado como argumento.

Sintaxe
nome_variavel[indice];
Exemplo 2
let obj_string = new String("String");
console.log(obj_string[0]);
Saída
S

A alteração não é possível utilizando utilizando o indexador [], pois strings em JS são imutáveis.

Não é possível alterar um caracter de uma string contida em um objeto String utilizando seu índice. É necessário utilizar o método replace como abaixo:

Sintaxe
replace(pattern, replacement)
Onde
pattern: string que desejamos manipular.
replacement: caractere ou string para substuir em pattern. 
Retorno
Uma nova string contendo pattern como conteúdo substituído por replacement.
Exemplo 3
let obj_string = "string";
console.log(obj_string.replace('s','S'));
Saída
String

Para percorrermos o conteúdo de um objeto String, podemos utilizar os comandos de repetição for ou for-of. O uso do comando será feito de acordo como necessidade da manipulação do conteúdo da string.

Exemplo 4
let obj_string = new String("string");
for( let ch of obj_string )
  console.log(ch);
Saída
s
t
r
i
n
g

Utilizando a propriedade length de uma string, conseguimos recuperar o seu tamanho em bytes. O tamanho de uma string depende da codificação ascii, utf8 e etc.

Sintaxe
nome_string.length;
Retorno
Number contendo o tamanho de nome_string
Exemplo 5
let obj_string = "str";
for(i =0 ; i < obj_string.length; i++)
    console.log(obj_string[i]);
Saída
s
t
r 

Mesmo uma string sendo um vetor de caracteres, o atributo length não pode ser utilizado para redimensionar uma string.

Como concatenar uma ou mais strings em JavaScript, podemos utilizar o operador de concatenação (+) entre string. Uma nova string é retornada após a concatenação.

Sintaxe
string1 + string2;
Retorno
Nova string contendo string1 e string2 concatenadas
Exemplo 5
console.log("uma" + " string" + " js");
Saída
uma string js

O uso do tipo de dado string como parâmetros,argumento e retorno em funções é feito de forma semelhante aos outros tipos de dados já vistos em JavaScript Básico: Funções.

Exemplo 6
function funcao(param_string)
{
    console.log(param_string);
    return param_string + " js";
}

console.log(funcao("uma string"))
Saída
uma string js

Para a comparação básica de string em JS, utilizamos os operadores de igualdade (==) e (===) como mostrado na sintaxe abaixo:

Sintaxe
string1 == string2 //mesmo valor
string1 === string2 //mesmo valor e tipo
Sintaxe: case-sensitive
string1.toLowerCase() === string2.toLowerCase()
string1.toLowerCase() === string2.toLowerCase()

string1.toUpperCase() === string2.toUpperCase()
string1.toUpperCase() === string2.toUpperCase()
Exemplo 6
let str_a = "STRING"; 
let str_b = "String";
let str_c = "STRING";

console.log(str_a == str_b);
console.log(str_a == str_c);
console.log(str_a === str_c);
Saída
false
true
true
Exemplo 7
let str_a = "STRING"; 
let str_b = "String";
let str_c = "STRING";

console.log(str_a.toLowerCase() === str_b.toLowerCase());
console.log(str_a.toUpperCase() === str_b.toUpperCase());
Saída
true
true

Para a comparação de forma lexicográfica, usada para ordenação em dicionários, os operadores >, <, <= e >= são utilizados:

Exemplo 7
let str_a = "ainda"; 
let str_b = "anao"; 
let str_c = "amar";

console.log(str_a < str_b);
console.log(str_c > str_b);
console.log(str_c > str_a);
Saída
true
false
true

Para copiar de forma básica uma string em JS, utilizamos o operador de atribuição (=) e interpolação.

Sintaxe
string1 = string2
Exemplo 8
let str_a = "STRING"; 
let str_b = "String";
let str_c = "STRING";

console.log(str_a,str_b);
str_a = str_b;
console.log(str_a,str_b);
Saída
STRING String
String String
Exemplo 9
let str_a = "STRING"; 
let str_b = "String";
let str_c = "STRING";

console.log(str_a,str_b);

str_a = `${str_b}`;

console.log(str_a,str_b);
Saída
STRING String
String String

A classe String em JS fornece um conjunto de métodos para manipulação strings como concatenação, índice de caracteres/substrings, preenchimento e outros. Abaixo os métodos disponíveis.

Método Descrição
at - -
charAt Retorna um elemento de uma posição Visitar
charCodeAt - Visitar
charPointAt - Visitar
concat Retorna strings concatenadas Visitar
endsWith Verifica se string termina com sequência de caracteres Visitar
fromCharCode - Visitar
includes Checa existência de uma sequêencia de caracteres Visitar
indexOf Retorna índice de uma elemento Visitar
isWellFormed - Visitar
lastIndexOf Retorna último índice de uma sequência de um padrão. Visitar
localeCompare - Visitar
match Retorna primeira de um padrão baseado em expressão regular Visitar
matchAll Retorna todas as ocorrências baseado em uma expressão regular Visitar
normalize - -
padEnd Preenche uma string com padrão à direita Visitar
padStart Preenche uma string com padrão à esquerda Visitar
raw - -
repeat Replica N vezes uma string passada como argumento Visitar
replace Substitue a primeira ocorrência de uma substring Visitar
replaceAll Substistue todas as ocorrências de uma substring Visitar
search Verifica a ocorrência de um padrão Visitar
slice Copia uma substring Visitar
split Divide uma string em tokens Visitar
startWith Verifica se uma string começa com um padrão Visitar
substring Retorna uma substring Visitar
toLocaleLowerCase - -
toLocaleUpperCase - -
toLowerCase Converte os caracteres para minúscula. Visitar
toString - -
toUpperCase Converte os caracteres para maiúsculas. Visitar
toWellFormed - -
trim Remove espaços em branco do ínicio e fim Visitar
trimEnd Remove espaços em branco do fim Visitar
trimStart Remove espaços em branco do ínicio Visitar
values - -
  1. 15/08/2025 - revisão 3 - Ajustes: pontuais, sintaxes e 'Objetivos'; Adição: string multilinha, copiar, comparar e métodos
  2. 26/09/2024 - revisão 2 - Ajustes pontuais
  3. 05/10/2023 - revisão 1 - Correção em layout, navegação e erros gramaticais
  4. 31/05/2023 - versão inicial