Cosa fa questo strumento
Trasforma un testo qualsiasi in qualcosa che puoi incollare tra virgolette in JavaScript o TypeScript senza rompere il literal:
- i backslash vengono raddoppiati, così
C:\percorsoresta un percorso e non diventa una sequenza di escape; ',"e`vengono tutti sottoposti a escape, quindi il risultato è valido in tutti e tre gli stili di virgolette;- a capo, ritorno a capo, tabulazione, backspace, avanzamento pagina e tabulazione verticale prendono la loro forma con nome —
\n,\r,\t,\b,\f,\v; - ogni altro carattere sotto U+0020 diventa
\uXXXX. NUL è uno di questi: esce nella forma U+0000 con escape, non come sequenza con nome. Sopra l’ASCII ci sono esattamente due eccezioni: U+2028 e U+2029, i separatori di riga Unicode. Grezzi in un literal erano un errore di sintassi prima di ES2019 e rompono ancora un literal incorporato in un tag<script>, quindi escono come\u2028e\u2029.
I caratteri oltre l’ASCII sono lasciati intatti di proposito. I file JavaScript sono UTF-8, "café" è valido e leggibile, e sottoporlo a escape in "caf\u00e9" renderebbe solo il literal più difficile da leggere.
Quando serve
Per incorporare a mano uno snippet, un frammento di espressione regolare, una riga di log o un pezzo di JSON in un file .js o .ts. Utile anche per i payload di JSON.parse scritti inline, dove una virgoletta non sottoposta a escape tronca la stringa in silenzio.
Cosa non fa
Fa l’escape per un literal di stringa, non per un segnaposto di template. Se il tuo output finisce dentro `...${x}...`, la sequenza ${ viene comunque interpretata: lo strumento fa l’escape del backtick ma non neutralizza l’interpolazione.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.