English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do JavaScript

Objeto do JavaScript

Função do JavaScript

JS HTML DOM

BOM do navegador JS

Tutorial básico de AJAX

Manual de referência do JavaScript

String (Cadeia de Caracteres) do JavaScript

Um string é uma sequência de um ou mais caracteres, que pode ser composta por letras, números ou símbolos.

Os strings no JavaScript são tipos de dados primitivos e imutáveis, o que significa que são inmutáveis.

As strings do JavaScript

As strings do JavaScript são composta por zero ou mais caracteres entre aspas.

var x = "JavaScript tutorial ";
Teste para ver‹/›

No JavaScript, você pode escolherAspa simplesouAspas duplaspara envolver strings. Ambos os métodos funcionam corretamente:

var msg1 = "Hello world";   // Usar aspas duplas
var msg2 = 'Hello world';   // Usar aspas simples
Teste para ver‹/›

Você pode usar aspas dentro de uma string, desde que não coincidam com as aspas ao redor da string:

var str1 = 'She said \  // Aspas duplas dentro das aspas simples
var str2 = 'She said 'Hey' and left';  // Aspas simples dentro das aspas duplas
var str3 = 'Let's have a cup of tea';  // Aspas simples dentro das aspas duplas
var str4 = 'We\'ll never give up'; // Usar a barra invertida para escapar a aspa simples
Teste para ver‹/›

A mais recente maneira de criar strings é chamadaConstantes de template (template literal).

A constante de template (template literal) usa aspas invertidas (` `), que funcionam da mesma forma que as strings normais:

var x = `Esta string usa as aspas invertidas.`;
Teste para ver‹/›

Calcular o comprimento da string

lengthA propriedade retorna o comprimento da string. Para uma string vazia, o comprimento é 0.

var str = 'JavaScript tutorial ';
str.length;// return 15
Teste para ver‹/›

Atenção:O espaço também é considerado um caractere.

Conexão de strings

Concatenação significa juntar duas ou mais strings para criar uma nova string.

+ Operadores são usados para adicionar (concatenar) strings.

var str1 = "quick brown fox";
var str2 = "over the lazy dog";
var str3 = "The " + str1 + " pula " + str2;
Teste para ver‹/›

constante de templateUm recurso especial da função é poder incluir expressões e variáveis nas strings. Não é necessário usar concatenação, podemos usar a sintaxe ${} para inserir variáveis.

var str1 = "quick brown fox";
var str2 = "over the lazy dog";
var str3 = `The ${str1} pula ${str2}.`;
Teste para ver‹/›

Neste caso, usar constante de template (template literal) pode ser mais fácil de escrever e conveniente.

Sequência de escape

Porque as strings precisam ser entre aspas, o seguinte conteúdo causará erro, pois confundirá o navegador sobre o final da string:

var x = 'We'll never give up';
var y = "She said 'Hey' and left";

A sequência de escape significa que estamos operando sobre elas para garantir que sejam reconhecidas como texto e não como parte do código.

No JavaScript, alcançamos isso adicionando um caractere de escape \ antes do caractere.

CodeResultadosDescrição
\''Aspa simples
,Aspas duplas
\\\Barra invertida

A sequência \' insere uma aspa simples na string:

A sequência \

var x = "Ela disse \
Teste para ver‹/›

A sequência \\ insere a barra invertida na string:

var x = "O caractere \\ é chamado de backslash";
Teste para ver‹/›

Existem outras seis sequências de escape válidas no JavaScript:

CodeDescrição
\bTecla de retrocesso
\fPágina
\nNova linha
\rQuebra de linha
\tTabulação horizontal
\vTabulação vertical

Para casos onde não é possível usar caracteres que podem ser digitados com o teclado, as sequências de escape também são úteis.

Quebra de linha de código longo

Para obter a melhor legibilidade, deve-se evitar que as linhas de código ultrapassem80 caracteres.

Se a sentença JavaScript não se encaixar em uma linha, o melhor lugar para quebrá-la é após o operador:

document.getElementById("para").innerHTML = "A soma de 20 e 30 é " +
soma;
Teste para ver‹/›

Escrever uma string longa em uma linha se torna rapidamente difícil de ler e usar.

Podemos usar o operador de concatenação (+()) para exibir strings em linhas múltiplas.

var str = "A poluição do ar é a entrada de substâncias químicas " +
"A atmosfera. Ela desequilibra o equilíbrio ambiental e causa " +
"Diversas doenças.";
Teste para ver‹/›

Além de usar várias strings, também podemos usar o caractere de escape \.

var str = "A poluição do ar é a entrada de substâncias químicas \
A atmosfera. Ela desequilibra o equilíbrio ambiental e causa \
Diversas doenças.";
Teste para ver‹/›

Atenção:O método mencionado (\) não é preferível, pois pode causar problemas em alguns navegadores e minificadores.

Para tornar o código mais legível, podemos usarConstantes de template (template literal)Strings. Eles eliminam a necessidade de concatenar ou escapar strings longas.

var str = `A poluição do ar é a entrada de substâncias químicas
A atmosfera. Ela desequilibra o equilíbrio ambiental e causa
Diversas doenças. `;
Teste para ver‹/›

É importante saber todos os métodos para criar strings em múltiplas linhas, pois diferentes bibliotecas de código podem usar vários padrões.

Primitivas de string e objetos de string

Normalmente, as strings JavaScript são criadas a partir de valores originais de texto:

var city = "New Delhi";

Mas, também pode usar a palavra-chave new para definir uma string como um objeto:

var city = new String("New Delhi");

Para testar a diferença entre os dois, inicializaremos um primitivo de string e um objeto de string.

var str1 = "New Delhi";
var str2 = new String("New Delhi");
typeof str1// returns string
typeof str2// returns object
Teste para ver‹/›

Atenção:Não crie strings como objetos. Isso reduzirá a velocidade de execução e produzirá alguns resultados inesperados.

Ao usar o operador ==, strings iguais são idênticas:

var str1 = "New Delhi";
var str2 = new String("New Delhi");
document.write(str1 == str2); //Retorna true, porque str1e str2os valores são iguais
Teste para ver‹/›

Ao usar o operador ===, strings iguais não são idênticas, porque o operador === espera que o valor e o tipo sejam iguais:

var str1 = "New Delhi";
var str2 = new String("New Delhi");
document.write(str1 === str2); //Retorna false, porque str1e str2do tipo diferente
Teste para ver‹/›

Não é possível comparar objetos:

var str1 = new String("New Delhi");
var str2 = new String("New Delhi");
document.write(str1 == str2); //Porque str1e str2São objetos diferentes, então retorna false
document.write(str1 === str2); //Porque str1e str2São objetos diferentes, então retorna false
Teste para ver‹/›

Atenção (==) e (===) entre si. A comparação de dois objetos JavaScript sempre retornará false.