Une chaîne de caractères est le type de données JavaScript qui permet de stocker du texte. Il n'existe pas de type de données distinct pour un caractère individuel.
On crée une string littérale en entourant le texte de guillemets simples ou doubles. Sur Exercism, on utilise les guillemets simples.
'Hello, World!'
"Hello, World!"
Certains caractères spéciaux du texte doivent être précédés d'une barre oblique inversée \, voir les séquences d'échappement sur MDN.
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
En plus des guillemets simples et doubles, on peut aussi créer une string en entourant le texte d'accents graves. Cette syntaxe permet d'inclure des guillemets simples ou doubles, et même des retours à la ligne, sans avoir besoin de les échapper. Elle permet aussi d'intégrer des expressions, voir les template strings pour plus de détails.
`A multi-line string
with 'single quotes'
and "double quotes"`;
On peut considérer une string comme un tableau de caractères dont le premier caractère a pour indice 0.
Tu peux accéder à un caractère individuel de la string à l'aide de crochets et de l'indice de la lettre que tu veux récupérer.
Sinon, il y a aussi la méthode charAt.
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
On peut déterminer le nombre de caractères d'une string en accédant à la propriété length.
'cat'.length;
// => 3
La façon la plus simple de concaténer des strings est d'utiliser l'opérateur d'addition +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Les strings offrent de nombreuses méthodes utilitaires, voir la documentation MDN sur les méthodes de String pour une liste complète. La liste suivante présente quelques-unes de ces méthodes utilitaires courantes.
toUpperCase et toLowerCase : changer la casse de tous les caractèrestrim : supprimer les espaces au début et à la finincludes, startsWith et endsWith : déterminer si une autre string fait partie de la string donnéeslice : extraire une portion de la string
Appliquer les méthodes ci-dessus ne modifie jamais la string d'origine. À la place, une nouvelle string est créée et renvoyée. Les strings (et les autres types de données primitifs) sont immuables en JavaScript. Cela signifie aussi que tu ne peux pas affecter un caractère différent à un indice donné avec la syntaxe à crochets montrée plus haut (comme tu le ferais dans un tableau).
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'