Skip to content

Türchen 02

Published: at 07:00 AMSuggest Changes

Template Literals – Dynamische Strings leicht gemacht

Mit der Einführung von ES6 (ECMAScript 2015) hat JavaScript zahlreiche nützliche Features erhalten. Eines der bemerkenswertesten ist das Template Literal (auch Template String genannt). Diese neue Art der String-Notation vereinfacht das Arbeiten mit Strings erheblich, insbesondere wenn es um die Einbettung von Variablen oder mehrzeilige Strings geht.

Was sind Template Literals?

Template Literals sind String-Literale, die mit Backticks ` statt mit einfachen ' oder doppelten Anführungszeichen " umschlossen werden. Sie ermöglichen:

Variable Interpolation

Vor ES6 musste man Variablen in Strings durch Verkettung einfügen:

const name = 'Anna';
const greeting = 'Hallo, ' + name + '!';
console.log(greeting); // Ausgabe: Hallo, Anna!

Mit Template Literals wird das wesentlich einfacher und lesbarer:

const name = 'Anna';
const greeting = `Hallo, ${name}!`;
console.log(greeting); // Ausgabe: Hallo, Anna!

Mehrzeilige Strings

Das Erstellen von mehrzeiligen Strings war früher umständlich und erforderte spezielle Zeichen oder Verkettungen:

const text = 'Erste Zeile\n' +
             'Zweite Zeile\n' +
             'Dritte Zeile';
console.log(text);

Mit Template Literals kannst du einfach Enter drücken:

const text = `Erste Zeile
Zweite Zeile
Dritte Zeile`;
console.log(text);

Ausdrücke innerhalb von Strings

Du kannst beliebige JavaScript-Ausdrücke innerhalb der ${}-Syntax verwenden:

const a = 5;
const b = 10;
console.log(`Die Summe von ${a} und ${b} ist ${a + b}.`);
// Ausgabe: Die Summe von 5 und 10 ist 15.

Auch Funktionen können aufgerufen werden:

function getUsername() {
  return 'Max';
}

console.log(`Willkommen, ${getUsername()}!`);
// Ausgabe: Willkommen, Max!

Verschachtelte Template Literals

Template Literals können auch verschachtelt werden:

const isMember = true;
const greeting = `Guten Tag, ${isMember ? 'geschätztes Mitglied' : 'Gast'}!`;
console.log(greeting);
// Ausgabe: Guten Tag, geschätztes Mitglied!

Tagged Templates

Eine fortgeschrittene Funktion von Template Literals sind Tagged Templates. Dabei wird eine Funktion vor das Template Literal gesetzt, die den String verarbeitet:

function highlight(strings, ...values) {
  return strings.reduce((result, string, i) => {
    return `${result}${string}<strong>${values[i] || ''}</strong>`;
  }, '');
}

const name = 'Lisa';
const age = 25;

const message = highlight`Name: ${name}, Alter: ${age}`;
console.log(message);
// Ausgabe: Name: <strong>Lisa</strong>, Alter: <strong>25</strong>

In diesem Beispiel formatiert die Funktion highlight den Text, indem sie die eingefügten Werte hervorhebt.

Rohdaten von Strings abrufen

Mit der Eigenschaft String.raw kannst du die Rohdaten eines Template Literals abrufen, was nützlich sein kann, wenn du Backslashes oder andere Sonderzeichen verwenden möchtest:

const filePath = String.raw`C:\Entwicklung\neues_projekt`;
console.log(filePath);
// Ausgabe: C:\Entwicklung\neues_projekt

Fazit

Template Literals sind ein mächtiges Werkzeug, um Strings in JavaScript dynamischer und lesbarer zu gestalten. Sie vereinfachen nicht nur die Einbettung von Variablen und Ausdrücken, sondern ermöglichen auch das einfache Erstellen von mehrzeiligen Strings und die Verwendung von Tagged Templates für fortgeschrittene String-Manipulationen.

Probiere Template Literals in deinem nächsten Projekt aus und erlebe, wie sie deinen Code vereinfachen können!


Previous Post
Türchen 03
Next Post
Türchen 01