JavaScript:
Zeichenketten interpolieren
How to:
// Template Literals nutzen
const name = 'Welt';
const greeting = `Hallo, ${name}!`;
console.log(greeting); // "Hallo, Welt!"
// Mit Bedingungen
const user = { name: 'Felix', isLoggedIn: true };
const welcomeMessage = `Willkommen ${user.isLoggedIn ? user.name : 'Gast'}!`;
console.log(welcomeMessage); // "Willkommen Felix!"
// Mit Funktionen
function getPreis(nettoPreis, steuer) {
return nettoPreis * (1 + steuer);
}
const preis = getPreis(100, 0.19);
const rechnung = `Der Gesamtpreis beträgt: ${preis.toFixed(2)}€.`;
console.log(rechnung); // "Der Gesamtpreis beträgt: 119.00€."
Deep Dive
Früher wurden Strings in JavaScript mit Konkatenation gebaut – durch das Verknüpfen von Variablen mit statischen Strings mittels des +
Operators. Mit ECMAScript 2015 (auch bekannt als ES6) kamen Template Literals, welche die String-Interpolation deutlich vereinfachen.
Statt der herkömmlichen Anführungszeichen nutzt man Backticks (`) und fügt Variablen oder Ausdrücke mit ${}
ein. Dadurch entfallen die vielen +
Zeichen, was den Code sauberer macht.
Alternativen wie sprintf()
aus anderen Sprachen oder das Zusammenbauen von Strings mittels Array-Joining sind in JavaScript weniger gebräuchlich.
Besonders praktisch wird es, wenn Funktionen oder Bedingungen in die Interpolation eingesetzt werden. So entstehen kompakte, leserliche One-Liner, die ansonsten mit mehreren Zeilen Code auskommen müssten.
See Also
- MDN zu Template Literals: MDN Web Docs: Template Literals