Eine Zeichenkette ist der JavaScript-Datentyp zum Speichern von Textdaten. Für ein einzelnes Zeichen gibt es keinen separaten Datentyp.
Ein Zeichenketten-Literal erstellst du, indem du den Text in einfache Anführungszeichen oder doppelte Anführungszeichen einschließt. Auf Exercism werden einfache Anführungszeichen verwendet.
'Hello, World!'
"Hello, World!"
Einige Sonderzeichen im Text müssen mit einem Backslash \ eingeleitet werden, siehe Escape-Sequenzen auf MDN.
const text = 'I\'m having fun.\nWhat about you?';
console.log(text);
// => I'm having fun.
// => What about you?
Neben einfachen und doppelten Anführungszeichen kannst du eine Zeichenkette auch erstellen, indem du den Text in Backticks einschließt. Diese Syntax ermöglicht es, einfache oder doppelte Anführungszeichen und sogar Zeilenumbrüche einzufügen, ohne sie escapen zu müssen. Sie ermöglicht außerdem das Einbetten von Ausdrücken, siehe Template-Strings für weitere Details.
`A multi-line string
with 'single quotes'
and "double quotes"`;
Eine Zeichenkette kann als Liste von Zeichen behandelt werden, wobei das erste Zeichen den Index 0 hat.
Auf ein einzelnes Zeichen der Zeichenkette kannst du mit eckigen Klammern und dem Index des gewünschten Zeichens zugreifen.
Alternativ gibt es auch die charAt-Methode.
'cat'[1];
// => 'a'
'cat'.charAt(2);
// => 't'
Die Anzahl der Zeichen in einer Zeichenkette kannst du ermitteln, indem du auf die length-Eigenschaft zugreifst.
'cat'.length;
// => 3
Die einfachste Möglichkeit, Zeichenketten zu verketten, ist die Verwendung des Additionsoperators +.
'I like' + ' ' + 'cats.';
// => "I like cats."
Zeichenketten bieten viele Hilfsmethoden, eine vollständige Liste findest du in den MDN-Dokumenten zu String-Methoden. Die folgende Liste zeigt einige häufig verwendete Hilfsmethoden.
toUpperCase und toLowerCase ändern die Groß-/Kleinschreibung aller Zeichentrim entfernt Leerzeichen am Anfang und Endeincludes, startsWith und endsWith stellen fest, ob eine andere Zeichenkette Teil der gegebenen Zeichenkette istslice extrahiert einen Abschnitt der ZeichenketteDas Anwenden der obigen Methoden ändert niemals die ursprüngliche Zeichenkette. Stattdessen wird eine neue Zeichenkette erstellt und zurückgegeben. Zeichenketten (und andere primitive Datentypen) sind in JavaScript unveränderlich. Das bedeutet auch, dass du mit der oben gezeigten Klammer-Syntax kein anderes Zeichen an einem Index zuweisen kannst (wie du es in Arrays tun würdest).
const str = 'cat';
str[1] = 'u'; // fails silently
console.log(str);
// => 'cat'