String.raw()

String.raw`text ${expression}`

Ein Tag für ein Template-Literal: Er lässt Backslashes so, wie sie geschrieben sind (\n bleibt zwei Zeichen), und setzt die Ausdrücke ${…} ein.

Parameter

  • Template-Literal – Text in Backticks; der Aufruf erfolgt ohne Klammern.

Rückgabewert

Eine neue Zeichenkette.

Beispiele

const folder = 'Dokumente';
console.log(String.raw`C:\Users\Jana\Dokumente`);
console.log(String.raw`Ordner ${folder} in C:\Users\Jana`);
console.log(String.raw`a\nb`.length, `a\nb`.length);
const date = new RegExp(String.raw`^\d{1,2}\.\d{1,2}\.\d{4}$`);
console.log(date.test('15.03.2026'));

Ausgabe:

C:\Users\Jana\Dokumente
Ordner Dokumente in C:\Users\Jana
4 3
true

Ein Backslash direkt vor ${ hebt den Ausdruck auf – er wird wörtlich ausgegeben:

const user = 'Jana';
console.log(String.raw`C:\Users\${user}`);
console.log(String.raw`C:\Users\ ` .trimEnd() + user);
console.log(String.raw`C:\Users` + '\\' + user);

Ausgabe:

C:\Users\${user}
C:\Users\Jana
C:\Users\Jana

Worauf Sie achten sollten

  • Ein Backslash vor ${ setzt den Ausdruck nicht ein (siehe Beispiel), und der Text darf nicht mit einer ungeraden Anzahl von Backslashes enden. Hängen Sie solche Teile außerhalb des Templates an.

Browserunterstützung

Baseline – weithin verfügbar: in allen gängigen Browsern seit September 2015, gilt als weithin verfügbar seit März 2018. Ab Version: Chrome 41, Firefox 34, Safari 9; Node.js 4.0.0. Stand: Oktober 2026 (MDN browser-compat-data).

Siehe auch:
Template-Literale
String.prototype.replace()