Appearance
Kapitel 15: Neue String-Methoden
15.1 includes() - Prüfen, ob Teilstring enthalten ist
🔍 Was macht includes()?
includes() prüft, ob ein String einen bestimmten Teilstring enthält. Gibt true oder false zurück.
javascript
// Syntax
string.includes(suchstring, startPosition)🎯 Einfaches Beispiel
javascript
const str = "Hallo Welt!";
// ❌ Alte Methode (ES5) - mit indexOf()
var containsWelt = str.indexOf("Welt") !== -1;
console.log(containsWelt); // true
// ✅ Neue Methode (ES6) - mit includes()
const containsWelt = str.includes("Welt");
console.log(containsWelt); // true
const containsXYZ = str.includes("XYZ");
console.log(containsXYZ); // false🎯 Mit Startposition
javascript
const str = "Hallo Hallo Hallo!";
// Ab Position 5 suchen
console.log(str.includes("Hallo", 5)); // true (zweites "Hallo")
console.log(str.includes("Hallo", 10)); // false📋 Praxisbeispiel: Dateiendung prüfen
javascript
function isImageFile(filename) {
const ext = filename.toLowerCase();
return ext.includes(".jpg") || ext.includes(".png") || ext.includes(".gif");
}
console.log(isImageFile("photo.jpg")); // true
console.log(isImageFile("document.pdf")); // false15.2 startsWith() / endsWith()
▶️ startsWith() - Prüfen, ob String beginnt mit...
javascript
const str = "https://www.example.com";
// ❌ Alte Methode (ES5)
var startsWithHttps = str.indexOf("https://") === 0;
console.log(startsWithHttps); // true
// ✅ Neue Methode (ES6)
const startsWithHttps = str.startsWith("https://");
console.log(startsWithHttps); // true⏏️ endsWith() - Prüfen, ob String endet mit...
javascript
const filename = "document.pdf";
// ❌ Alte Methode (ES5)
var endsWithPdf = filename.slice(-4) === ".pdf";
console.log(endsWithPdf); // true
// ✅ Neue Methode (ES6)
const endsWithPdf = filename.endsWith(".pdf");
console.log(endsWithPdf); // true🎯 Mit Positionen (nur startsWith)
javascript
const str = "Hallo Welt, Hallo wieder!";
// Ab Position 7 prüfen
console.log(str.startsWith("Welt", 7)); // true📋 Praxisbeispiel: URL-Validierung
javascript
function validateURL(url) {
if (!url.startsWith("http://") && !url.startsWith("https://")) {
return "Ungültige URL: Muss mit http:// oder https:// beginnen";
}
if (!url.endsWith("/")) {
url += "/";
}
return `Valide URL: ${url}`;
}
console.log(validateURL("https://example.com"));
// "Valide URL: https://example.com/"15.3 repeat() - String wiederholen
🔁 Was macht repeat()?
repeat() wiederholt einen String n-mal.
javascript
// Syntax
string.repeat(anzahl)🎯 Einfaches Beispiel
javascript
// ❌ Alte Methode (ES5) - with loop
var str1 = "";
for (var i = 0; i < 3; i++) {
str1 += "Ha";
}
console.log(str1); // "HaHaHa"
// ✅ Neue Methode (ES6)
const str2 = "Ha".repeat(3);
console.log(str2); // "HaHaHa"🎯 Mit 0 (leeer String)
javascript
console.log("ABC".repeat(0)); // "" (leeer String)
console.log("ABC".repeat(1)); // "ABC"
console.log("ABC".repeat(3)); // "ABCABCABC"⚠️ Achtung: Dezimalzahlen werden abgerundet!
javascript
console.log("A".repeat(3.9)); // "AAA" (abgerundet zu 3)📋 Praxisbeispiel: Trennlinie erstellen
javascript
function createSeparator(char, length) {
return char.repeat(length);
}
console.log(createSeparator("-", 20));
// "--------------------"
console.log(createSeparator("*", 10));
// "**********"15.4 padStart() / padEnd() - Auffüllen
📏 Was macht padStart() / padEnd()?
Diese Methoden füllen einen String auf eine bestimmte Länge auf (mit Leerzeichen oder einem angegebenen String).
javascript
// Syntax
string.padStart(zielLänge, füllString)
string.padEnd(zielLänge, füllString)🎯 padStart() - Vorne auffüllen
javascript
const str = "42";
// Mit Leerzeichen auffüllen
console.log(str.padStart(5)); // " 42" (3 Leerzeichen + "42")
console.log(str.padStart(10)); // " 42"
// Mit eigenem String auffüllen
console.log(str.padStart(5, "0")); // "00042"
console.log(str.padStart(10, "*")); // "********42"🎯 padEnd() - Hinten auffüllen
javascript
const str = "42";
// Mit Leerzeichen auffüllen
console.log(str.padEnd(5)); // "42 " (3 Leerzeichen)
console.log(str.padEnd(10)); // "42 "
// Mit eigenem String auffüllen
console.log(str.padEnd(5, "0")); // "42000"
console.log(str.padEnd(10, "*")); // "42********"📋 Praxisbeispiel 1: Zahlen formatieren
javascript
// Zahlen auf 5 Stellen mit führenden Nullen formatieren
function formatNumber(num, digits = 5) {
return String(num).padStart(digits, "0");
}
console.log(formatNumber(1)); // "00001"
console.log(formatNumber(42)); // "00042"
console.log(formatNumber(12345)); // "12345"📋 Praxisbeispiel 2: Rechnungsauszug formatieren
javascript
function printReceiptItem(name, price) {
const formattedPrice = `€${price.toFixed(2)}`;
return `${name.padEnd(20)} ${formattedPrice.padStart(10)}`;
}
console.log(printReceiptItem("Laptop", 999.99));
// "Laptop €999.99"
console.log(printReceiptItem("Maus", 25.50));
// "Maus €25.50"📋 Praxisbeispiel 3: Datumsformatierung
javascript
function formatDate(year, month, day) {
return `${year}-${String(month).padStart(2, "0")}-${String(day).padStart(2, "0")}`;
}
console.log(formatDate(2024, 5, 3));
// "2024-05-03"🎉 Zusammenfassung
In diesem Kapitel hast du gelernt:
- ✅
includes()- Prüfen, ob Teilstring enthalten ist - ✅
startsWith()/endsWith()- Prüfen, ob String beginnt/endet mit... - ✅
repeat()- String n-mal wiederholen - ✅
padStart()/padEnd()- String auffüllen (Zahlen formatieren, Rechnungsauszug)
📝 Übung
includes()verwenden:javascriptconst email = "user@example.com"; // Prüfe, ob die E-Mail ein "@"-Zeichen enthältstartsWith()/endsWith()verwenden:javascriptconst filename = "document.pdf"; // Prüfe, ob die Datei mit "doc" beginnt und mit ".pdf" endetrepeat()verwenden:javascript// Erstelle einen "Ladebalken" mit 10 "#"-ZeichenpadStart()/padEnd()verwenden:javascript// Formatiere die Zahl 42 auf 5 Stellen mit führenden Nullen
➡️ Nächstes Kapitel
In Kapitel 16 lernen wir neue Number- und Object-Methoden in ES6+ (Number.isFinite(), Number.isNaN(), Object.keys/values/entries)!
