Kurz: Ein String ist Text. Du schreibst ihn in einfachen ’…’, doppelten ”…” oder Backticks .... Strings sind unveränderlich: Methoden liefern immer einen neuen String.
Teil des Kurses JavaScript
Kapitel 7 von 40 im Kurs JavaScript. Mit Fortschritt, Quiz und Zertifikat auf der Lernseite.
Ein String ist Text. Du schreibst ihn in einfachen '...', doppelten "..." oder Backticks `...`. Strings sind unveränderlich: Methoden liefern immer einen neuen String.
Template-Strings
Mit Backticks kannst du Werte direkt einsetzen (${...}) und Text über mehrere Zeilen schreiben:
const name = "Mia", alter = 17;
console.log(`Hallo ${name}, in einem Jahr bist du ${alter + 1}.`);
console.log(`Zeile 1
Zeile 2`);
console.log("Tab:\tText\nNeue Zeile, \"Anführungszeichen\", \\ Backslash");Ausgabe:
Hallo Mia, in einem Jahr bist du 18.
Zeile 1
Zeile 2
Tab: Text
Neue Zeile, "Anführungszeichen", \ BackslashLänge und Zugriff
const s = "JavaScript";
console.log(s.length);
console.log(s[0], s.at(-1), s.charAt(4));
console.log(s.indexOf("S"), s.indexOf("x"), s.lastIndexOf("a"));
for (const zeichen of "abc") console.log(zeichen);Ausgabe:
10
J t S
4 -1 3
a
b
cWichtige Methoden
| Methode | Wirkung |
|---|---|
toUpperCase(), toLowerCase() | Groß-/Kleinschreibung |
trim(), trimStart(), trimEnd() | Leerraum entfernen |
includes(x), startsWith(x), endsWith(x) | enthält / beginnt / endet mit |
slice(a, b) | Teilstring von a bis vor b |
substring(a, b) | ähnlich, ohne negative Werte |
split(trenner) | in Array zerlegen |
replace(a, b), replaceAll(a, b) | ersetzen |
repeat(n) | n-mal wiederholen |
padStart(n, z), padEnd(n, z) | auffüllen |
localeCompare(x) | sprachrichtiger Vergleich |
const t = " Hallo Welt ";
console.log("[" + t.trim() + "]");
console.log("JavaScript".slice(0, 4), "JavaScript".slice(-6));
console.log("a,b,c".split(","), "hallo".split(""));
console.log("banane".replaceAll("a", "o"));
console.log("ab".repeat(3), "7".padStart(3, "0"));
console.log("Hallo".includes("all"), "Hallo".startsWith("H"));
console.log("Äpfel".toUpperCase());Ausgabe:
[Hallo Welt]
Java Script
[ 'a', 'b', 'c' ] [ 'h', 'a', 'l', 'l', 'o' ]
bonone
ababab 007
true true
ÄPFELStrings vergleichen und sortieren
const namen = ["Zoe", "Ärger", "Anna", "bert"];
console.log([...namen].sort());
console.log([...namen].sort((a, b) => a.localeCompare(b, "de")));Ausgabe:
[ 'Anna', 'Zoe', 'bert', 'Ärger' ]
[ 'Anna', 'Ärger', 'bert', 'Zoe' ]Das einfache sort() sortiert nach Unicode-Wert, daher stehen Umlaute und Kleinbuchstaben hinten. Mit localeCompare sortierst du so, wie es Menschen erwarten.
Unicode und Emojis
JavaScript-Strings bestehen aus UTF-16-Einheiten. Manche Zeichen (Emojis) brauchen zwei Einheiten:
const e = "😀";
console.log(e.length, [...e].length);
console.log("é".normalize("NFD").length, "é".length);
console.log(String.fromCharCode(65), "A".charCodeAt(0), "A".codePointAt(0));Ausgabe:
2 1
2 1
A 65 65Zahlen und Text
console.log("Preis: " + 5 + 3); // Text + Zahl = Text
console.log("Preis: " + (5 + 3));
console.log(String(42) + "!", (42).toString().length);
console.log(Number("3.5") * 2);Ausgabe:
Preis: 53
Preis: 8
42! 2
7Merke
- Template-Strings mit Backticks:
`Hallo ${name}` - Strings sind unveränderlich; Methoden liefern neue Strings
slice,split,replaceAll,trim,includes,padStartsind Alltagswerkzeuge- Mit
localeComparesortierst du sprachrichtig - Emojis haben
length2: mit[...text]richtig zählen
Übungsaufgabe
Schreibe eine Funktion, die einen Satz in Wörter zerlegt und den längsten zurückgibt. Gib den Satz anschließend in Großbuchstaben aus.
Quiz zur Selbstkontrolle
Wie setzt du eine Variable in einen Text ein?
Hallo ${name}in Backticks (richtig)- “Hallo ${name}” in Anführungszeichen
- “Hallo ” & name
- ‘Hallo {name}’
Was liefert "JavaScript".slice(0, 4)?
- “Java” (richtig)
- “Jav”
- “JavaS”
- “Script”
Sind Strings veränderlich?
- Nein, Methoden liefern neue Strings (richtig)
- Ja, jederzeit
- Nur mit let
- Nur in Node.js
Weiter im Kurs
Zurück: Operatoren und Vergleiche
Weiter: Bedingungen: if, else und switch
Alle Kapitel: JavaScript im Überblick