O que esta ferramenta faz
Transforma um texto qualquer em algo que você pode colar entre aspas em JavaScript ou TypeScript sem quebrar o literal:
- as barras invertidas são duplicadas, para que
C:\caminhocontinue sendo um caminho e não vire uma sequência de escape; ',"e`são todas escapadas, então o resultado vale nos três estilos de aspas;- quebra de linha, retorno de carro, tabulação, retrocesso, avanço de página e tabulação vertical ganham sua forma nomeada —
\n,\r,\t,\b,\f,\v; - qualquer outro caractere abaixo de U+0020 vira
\uXXXX. NUL é um deles: sai na forma U+0000 escapada, não como sequência nomeada. Acima do ASCII há exatamente duas exceções: U+2028 e U+2029, os separadores de linha Unicode. Crus num literal, eram erro de sintaxe antes do ES2019 e ainda quebram um literal embutido numa tag<script>, então saem como\u2028e\u2029.
Caracteres acima do ASCII são deixados de propósito. Arquivos JavaScript são UTF-8, "café" é válido e legível, e escapá-lo para "caf\u00e9" só tornaria o literal mais difícil de ler.
Quando você precisa dela
Para embutir à mão um trecho, um pedaço de expressão regular, uma linha de log ou um bloco de JSON num arquivo .js ou .ts. Também para cargas de JSON.parse escritas inline, onde uma aspa não escapada trunca a string em silêncio.
O que ela não faz
Ela escapa para um literal de string, não para um marcador de template. Se a sua saída cair dentro de `...${x}...`, a sequência ${ continua sendo interpretada — a ferramenta escapa a crase, mas não neutraliza a interpolação.
Privado por padrão
Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.