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