Uma string é o tipo de dados do JavaScript para armazenar dados de texto. Não existe um tipo de dados separado para um caractere individual.
Você cria um literal de string envolvendo o texto em aspas simples ou aspas duplas. No Exercism, usamos aspas simples.
'Hello, World!'
"Hello, World!"
Alguns caracteres especiais do texto precisam ser precedidos por uma barra invertida \, veja sequências de escape no MDN.
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
Além de aspas simples e duplas, você também pode criar uma string envolvendo o texto em crases. Essa sintaxe permite incluir aspas simples ou duplas e até quebras de linha sem precisar escapá-las. Ela também permite embutir expressões, veja Template Strings para mais detalhes.
`A multi-line string
with 'single quotes'
and "double quotes"`;
Uma string pode ser tratada como uma lista de caracteres, em que o primeiro caractere tem índice 0.
Você pode acessar um caractere individual da string usando colchetes e o índice da letra que quer obter.
Como alternativa, também existe o método charAt.
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
Você pode descobrir o número de caracteres de uma string acessando a propriedade length.
'cat'.length;
// => 3
A forma mais simples de concatenar strings é usar o operador de adição +.
'I like' + ' ' + 'cats.';
// => "I like cats."
As strings oferecem muitos métodos auxiliares, veja a documentação do MDN sobre métodos de string para uma lista completa. A lista a seguir mostra alguns dos auxiliares mais usados.
toUpperCase e toLowerCase - mudam o uso de maiúsculas e minúsculas de todos os caracterestrim - remove espaços em branco do início e do fimincludes, startsWith e endsWith - determinam se outra string faz parte da string dadaslice - extrai uma parte da stringAplicar os métodos acima nunca altera a string original. Em vez disso, uma nova string é criada e retornada. Strings (e outros tipos de dados primitivos) são imutáveis em JavaScript. Isso também significa que você não pode atribuir um caractere diferente em algum índice usando a sintaxe de colchetes mostrada acima (como faria em arrays).
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'