Ce que fait cet outil
Il transforme un texte quelconque en quelque chose que vous pouvez coller entre guillemets en JavaScript ou TypeScript sans casser le littéral :
- les antislashs sont doublés, pour que
C:\cheminreste un chemin et ne devienne pas une séquence d’échappement ; ',"et`sont tous échappés, donc le résultat est valide dans les trois styles de guillemets ;- saut de ligne, retour chariot, tabulation, retour arrière, saut de page et tabulation verticale prennent leur forme nommée —
\n,\r,\t,\b,\f,\v; - tout autre caractère sous U+0020 devient
\uXXXX. NUL en fait partie : il ressort sous la forme U+0000 échappée, et non sous une forme nommée. Au-dessus de l’ASCII il y a exactement deux exceptions : U+2028 et U+2029, les séparateurs de ligne Unicode. Bruts dans un littéral, ils étaient une erreur de syntaxe avant ES2019 et cassent encore un littéral embarqué dans une balise<script>; ils ressortent donc en\u2028et\u2029.
Les caractères au-delà de l’ASCII sont délibérément laissés tels quels. Les fichiers JavaScript sont en UTF-8, "café" est à la fois valide et lisible, et l’échapper en "caf\u00e9" ne ferait que compliquer la lecture.
Quand en avoir besoin
Intégrer à la main un extrait, un fragment d’expression régulière, une ligne de log ou un morceau de JSON dans un fichier .js ou .ts. Utile aussi pour les charges JSON.parse écrites en ligne, où un guillemet non échappé tronque la chaîne en silence.
Ce qu’il ne fait pas
Il échappe pour un littéral de chaîne, pas pour un emplacement de gabarit. Si votre sortie atterrit dans `...${x}...`, la séquence ${ reste interprétée : l’outil échappe l’accent grave mais ne neutralise pas l’interpolation.
Confidentiel par conception
Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.