English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 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 simplesTeste 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 simplesTeste 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‹/›
lengthA propriedade retorna o comprimento da string. Para uma string vazia, o comprimento é 0.
var str = 'JavaScript tutorial '; str.length;// return 15Teste para ver‹/›
Atenção:O espaço também é considerado um caractere.
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.
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.
Code | Resultados | Descriçã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:
Code | Descrição |
---|---|
\b | Tecla de retrocesso |
\f | Página |
\n | Nova linha |
\r | Quebra de linha |
\t | Tabulação horizontal |
\v | Tabulaçã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.
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.
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 objectTeste 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 iguaisTeste 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 diferenteTeste 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 falseTeste para ver‹/›
Atenção (==) e (===) entre si. A comparação de dois objetos JavaScript sempre retornará false.