HTMLCSSJavaScriptIndexRoadmapImpressum

Strings

Was sind Strings?

Ein String ist in JavaScript eine Zeichenkette – also Text. Namen, Sätze, Passwörter oder Fehlermeldungen speicherst du als String.

Strings gehören zu den primitiven Datentypen. Du hast sie bereits im Kapitel Datentypen kennengelernt. Hier geht es um die praktische Arbeit mit Text in JavaScript.

Strings anlegen

Du kannst Strings auf drei Arten schreiben. Alle funktionieren grundsätzlich gleich – der Unterschied liegt vor allem in der Flexibilität:

SchreibweiseZeichenTypischer Einsatz
Doppelte Anführungszeichen"..."Standard für normale Texte
Einfache Anführungszeichen'...'Alternative, z. B. wenn der Text doppelte Anführungszeichen enthält
Backticks`...`Mehrzeilige Texte und Template Literals

Strings anlegen

1let einfach = "Hallo";
2let einfach2 = 'Welt';
3let mehrzeilig = `Das ist
4ein mehrzeiliger
5Text.`;
6
7console.log(einfach);
8console.log(einfach2);
9console.log(mehrzeilig);

Output

Hallo

Welt

Das ist
ein mehrzeiliger
Text.

Escape-Zeichen

Manchmal musst du Sonderzeichen innerhalb eines Strings schreiben – zum Beispiel Anführungszeichen oder einen Zeilenumbruch. Dafür nutzt du einen Backslash (\) als Escape-Zeichen:

Escape-ZeichenBedeutung
\"Doppeltes Anführungszeichen
\'Einfaches Anführungszeichen
\nZeilenumbruch
\\Backslash selbst

Escape-Zeichen

1let zitat = "Er sagte: \"Hallo!\"";
2let pfad = "C:\\Ordner\\datei.txt";
3let zeilenumbruch = "Zeile 1\nZeile 2";
4
5console.log(zitat);
6console.log(pfad);
7console.log(zeilenumbruch);

Output

Er sagte: "Hallo!"

C:\Ordner\datei.txt

Zeile 1
Zeile 2

Länge eines Strings

Mit der Eigenschaft .length erfährst du, wie viele Zeichen ein String hat. Das ist nützlich, wenn du z. B. prüfen willst, ob ein Eingabefeld leer ist oder wie lang ein Benutzername ist.

String-Länge

1let text = "JavaScript";
2
3console.log(text.length);

Output

10

Auf Zeichen zugreifen

Jeder String hat eine Positionsnummer (Index). Das erste Zeichen hat den Index 0, das zweite 1 usw. Mit eckigen Klammern greifst du auf ein einzelnes Zeichen zu:

Einzelne Zeichen

1let wort = "Hallo";
2
3console.log(wort[0]); // H
4console.log(wort[4]); // o
5console.log(wort[wort.length - 1]); // o (letztes Zeichen)

Output

H

o

o

Wichtige String-Methoden

Strings haben viele eingebaute Methoden – Funktionen, die du direkt auf dem Text aufrufen kannst. Strings selbst bleiben dabei unverändert; die Methoden geben ein neues Ergebnis zurück.

MethodeBeschreibungBeispiel
toUpperCase()Alles in Großbuchstaben"hallo".toUpperCase()"HALLO"
toLowerCase()Alles in Kleinbuchstaben"HALLO".toLowerCase()"hallo"
trim()Leerzeichen am Anfang und Ende entfernen" hi ".trim()"hi"
includes()Prüft, ob ein Text enthalten ist"Hallo".includes("all")true
slice()Teilstring ausschneiden"Hallo".slice(1, 4)"all"
replace()Text ersetzen"Hallo".replace("H", "M")"Mallo"
split()String in ein Array aufteilen"a,b".split(",")["a", "b"]

String-Methoden

1let satz = "  Hallo JavaScript  ";
2
3console.log(satz.toUpperCase());
4console.log(satz.toLowerCase());
5console.log(satz.trim());
6console.log(satz.includes("Java"));
7console.log(satz.slice(2, 7));
8console.log(satz.replace("JavaScript", "Welt"));
9console.log("Apfel,Banane,Kirsche".split(","));

Output

HALLO JAVASCRIPT

hallo javascript

Hallo JavaScript

true

Hallo

Hallo Welt

Apfel,Banane,Kirsche

Hinweis: Texte mit + oder += zu verketten lernst du im Kapitel Operatoren.

Template Literals

Mit Backticks (`) und ${variable} fügst du Variablen direkt in einen Text ein. Der Fachbegriff dafür ist Template Literal. Es ist die moderne und übersichtliche Art, dynamische Texte zu bauen.

Template Literals

1let name = "Anna";
2let alter = 22;
3
4let begruessung = `Hallo, ich heiße ${name} und bin ${alter} Jahre alt.`;
5let rechnung = `2 + 3 = ${2 + 3}`;
6
7console.log(begruessung);
8console.log(rechnung);

Output

Hallo, ich heiße Anna und bin 22 Jahre alt.

2 + 3 = 5

Innerhalb von ${ ... } kannst du auch Ausdrücke schreiben – nicht nur Variablen. So kann JavaScript z. B. direkt rechnen, bevor der Text ausgegeben wird.

Zusammenfassung

ThemaWichtigste Punkte
Strings anlegen"...", '...' oder `...`
Länge.length
Einzelnes Zeichentext[0] (Index beginnt bei 0)
MethodentoUpperCase(), trim(), includes(), slice(), replace(), split()
Template Literals`Hallo ${name}`

Im nächsten Kapitel lernst du: Arrays und Array-Funktionen