Una cadena de caracteres es el tipo de datos de JavaScript que se usa para almacenar datos de texto. No existe un tipo de datos aparte para un carácter individual.
Creas un string literal envolviendo el texto entre comillas simples o comillas dobles. En Exercism se usan comillas simples.
'Hello, World!'
"Hello, World!"
Algunos caracteres especiales del texto hay que precederlos con una barra invertida \; consulta las secuencias de escape en MDN.
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
Además de las comillas simples y dobles, también puedes crear un string envolviendo el texto entre comillas invertidas. Esta sintaxis permite incluir comillas simples o dobles e incluso saltos de línea sin necesidad de escaparlos. También permite incrustar expresiones; consulta las cadenas de plantilla para obtener más detalles.
`A multi-line string
with 'single quotes'
and "double quotes"`;
Un string se puede tratar como un array de caracteres en el que el primer carácter tiene índice 0.
Puedes acceder a un carácter concreto del string usando corchetes y el índice de la letra que quieras obtener.
Como alternativa, también tienes el método charAt.
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
Puedes determinar el número de caracteres de un string accediendo a la propiedad length.
'cat'.length;
// => 3
La forma más sencilla de concatenar strings es usar el operador de suma +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Los strings incluyen muchos métodos auxiliares; consulta la documentación de MDN sobre métodos de string para ver la lista completa. En la siguiente lista se muestran algunos de los métodos auxiliares más habituales.
toUpperCase y toLowerCase: cambian a mayúsculas o minúsculas todos los caracterestrim: elimina los espacios en blanco del principio y del finalincludes, startsWith y endsWith: determinan si otro string forma parte del string en cuestiónslice: extrae una sección del stringAplicar los métodos anteriores nunca cambiará el string original. En su lugar, se crea y se devuelve un nuevo string. Los strings (y otros tipos de datos primitivos) son inmutables en JavaScript. Eso también significa que no puedes asignar un carácter distinto en un índice usando la sintaxis de corchetes mostrada arriba (como harías con los arrays).
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'