非常に簡単な質問ですが、何らかの理由で、Googleで10分間検索しても答えが見つからない場合があります。 Javascriptで印刷するときにエスケープ文字を表示するにはどうすればよいですか?
例:
str = "Hello\nWorld";
console.log(str);
与える:
Hello
World
与えたいとき:
Hello\nWorld
あなたの目標が
str = "Hello\nWorld";
含まれているものを文字列リテラル形式で出力するには、JSON.stringify
を使用できます。
console.log(JSON.stringify(str)); // ""Hello\nworld""
console.log
は(少なくともChromeの実装では)外側の引用符を追加しますが、その中のコンテンツは文字列リテラルです(はい、それはやや紛らわしいです)。
JSON.stringify
は、指定されたもの(この場合は文字列)を受け取り、その値に有効なJSONを含む文字列を返します。したがって、上記の場合、開始引用符("
)、Word Hello
、バックスラッシュ(\
)、文字n
、Word World
、および終了引用符("
)。文字列の改行は、\
およびn
として出力でエスケープされます。これは、JSONで改行をエンコードする方法だからです。他のエスケープシーケンスも同様にエンコードされます。
JavaScriptは、次のエスケープ文字として\(バックスラッシュ)を使用します。
\ vおよび\ 0エスケープはJSON文字列では許可されないことに注意してください。