Ce face String.raw
String.raw se pune în fața unui template literal. Expresiile ${ } sunt înlocuite normal, dar secvențele cu backslash (\n, \t, \d) rămân text, nu devin rând nou sau tab.
Este util pentru căi Windows și pentru expresii regulate scrise ca text, unde altfel ar trebui să dublezi fiecare backslash.
Ce returnează
Un șir de caractere.
Exemple
Exemplul 1: Cale Windows
Primul rând dublează fiecare backslash. Al doilea folosește String.raw. Al treilea arată ce se întâmplă fără niciuna: \D pierde backslash-ul, iar \n devine rând nou.
const an = 2026;
console.log(`C:\\Documente\\raport-${an}.pdf`);
console.log(String.raw`C:\Documente\raport-${an}.pdf`);
console.log(`C:\Documente\noiembrie`);
Rezultat
C:\Documente\raport-2026.pdf
C:\Documente\raport-2026.pdf
C:Documente
oiembrie
Exemplul 2: Expresie regulată din text
const model = new RegExp(String.raw`^\d{4}-\d{2}-\d{2}$`);
console.log(model.source);
console.log(model.test("2026-10-19"));
Rezultat
^\d{4}-\d{2}-\d{2}$
true
Greșeli frecvente
- Apelezi
String.raw("text")cu paranteze, ca pe o funcție obișnuită. Se folosește cu backtick-uri direct după nume:String.raw`text`.
Comenzi înrudite
template literals: Șiruri între backtick-uri (`) în care pui variabile și expresii direct în text.RegExp (expresii regulate): Creează o expresie regulată: un model de text folosit pentru căutare, validare și înlocuire.