Très simple question, mais pour une raison quelconque, je ne trouve pas la réponse après 10 minutes de recherches sur Google. Comment afficher les caractères d'échappement lors de l'impression en Javascript?
Exemple:
str = "Hello\nWorld";
console.log(str);
Donne:
Hello
World
Quand je le veux donner:
Hello\nWorld
Si votre objectif est d'avoir
str = "Hello\nWorld";
et affiche ce qu’il contient sous forme littérale, vous pouvez utiliser JSON.stringify
:
console.log(JSON.stringify(str)); // ""Hello\nworld""
console.log
ajoute les guillemets externes (du moins dans l'implémentation de Chrome), mais leur contenu est un littéral de chaîne (oui, c'est un peu déroutant).
JSON.stringify
prend ce que vous lui donnez (dans ce cas, une chaîne) et renvoie une chaîne contenant un code JSON valide pour cette valeur. Donc, pour ce qui précède, il renvoie un devis d’ouverture ("
), le mot Hello
, une barre oblique inverse (\
), la lettre n
, le mot World
et la citation de clôture ("
). Le saut de ligne dans la chaîne est échappé dans la sortie en tant que \
et n
, car c’est ainsi que vous codez un saut de ligne en JSON. D'autres séquences d'échappement sont codées de manière similaire.
JavaScript utilise le\(barre oblique inverse) comme caractère d'échappement pour:
Notez que les échappements\v et\0 ne sont pas autorisés dans les chaînes JSON.
Vous devez échapper à la barre oblique inversée, alors essayez ceci:
str = "Hello\\nWorld";
Ici sont plus de caractères échappés en Javascript.