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()