Signatur
Beschreibung
Die Methode toLowerCase() wandelt alle Groß- und Titelbuchstaben eines Strings nach den Unicode-Standardregeln in Kleinbuchstaben um und gibt das Ergebnis als neuen String zurück. Strings sind in JavaScript unveränderlich, deshalb bleibt der Ausgangswert immer erhalten. Das Ergebnis muss man also einer Variablen zuweisen oder direkt weiterverwenden.
Typische Anwendungen sind der Vergleich ohne Beachtung der Groß-/Kleinschreibung (z. B. bei Suchfeldern, Filtern oder Tags), das Vereinheitlichen von Benutzereingaben wie E-Mail-Adressen oder Dateiendungen und das Erzeugen von Schlüsseln bzw. Slugs.
Die Umwandlung ist gebietsschemaunabhängig: Es gelten die allgemeinen Unicode-Zuordnungen, nicht die Sonderregeln einzelner Sprachen. Brauchen Sie sprachspezifisches Verhalten (etwa für Türkisch oder Litauisch), nehmen Sie toLocaleLowerCase(). Die Methode ist generisch: Mit call() kann man sie auch auf Nicht-Strings anwenden. Deren this-Wert wird dann vorher in einen String umgewandelt.
Rückgabewert
Beispiele
Einfache Umwandlung
const titel = 'Hallo WELT!';
const klein = titel.toLowerCase();
console.log(klein);
console.log(titel); // Original bleibt unverändert
Suche ohne Beachtung der Groß-/Kleinschreibung
const produkte = ['MacBook Pro', 'iPhone 15', 'Magic Mouse', 'iPad Air'];
const suche = (begriff) => {
const q = begriff.trim().toLowerCase();
return produkte.filter((p) => p.toLowerCase().includes(q));
};
console.log(suche('MAC'));
console.log(suche('ipad'));
Dateiendung vereinheitlicht prüfen
const istBild = (dateiname) => {
const endung = dateiname.split('.').pop().toLowerCase();
return ['jpg', 'jpeg', 'png', 'webp'].includes(endung);
};
console.log(istBild('Urlaub.JPG'));
console.log(istBild('bericht.PDF'));
Unicode-Sonderfälle und generischer Aufruf
console.log('ÄÖÜ ΣΟΦΟΣ'.toLowerCase()); // griechisches Schluss-Sigma
console.log('İ'.toLowerCase().length); // wird zu i + kombinierendem Punkt
// Generisch auf Nicht-Strings anwenden
console.log(String.prototype.toLowerCase.call(true));
// Wichtig · Fallstricke
- Fehler bei
null/undefined:null.toLowerCase()löst einenTypeErroraus. Bei unsicheren Werten optionale Verkettung nutzen:wert?.toLowerCase(), oder vorher mitString(wert)umwandeln. - Länge kann sich ändern: Manche Zeichen werden zu mehreren Codeeinheiten, z. B.
'İ'(U+0130) zu'i̇'. Indizes aus dem Original passen danach nicht mehr unbedingt. - Keine Sprachregeln: Beim türkischen
'I'entsteht'i'statt'ı'. DafürtoLocaleLowerCase('tr')verwenden. - Vergleiche: Für robuste Vergleiche ohne Beachtung der Groß-/Kleinschreibung über Sprachen hinweg ist
localeCompare(b, undefined, { sensitivity: 'accent' })oderIntl.Collatoroft besser als ein Vergleich zweiertoLowerCase()-Ergebnisse. Beispiel:'ß'.toUpperCase()ergibt'SS', zurück in Kleinbuchstaben wird daraus aber nicht wieder'ß'. - Die Methode wird in allen Browsern und in Node.js unterstützt.