javascript \nをエスケープせずに文字列として扱う

javascript \nをエスケープせずに文字列として扱う

javascriptで、String.rawを用いて\nをエスケープせずに文字列として扱うサンプルコードを記述してます。

環境

  • OS windows10 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 100.0.4896.60

String.raw使い方

String.rawを使用すると、エスケープせずに\nを文字列として扱うことが可能です。

// 通常
var str1 = 'hello\nworld';

// エスケープする
var str2 = 'hello\\nworld';

// String.rawを使用する
var str3 = String.raw`hello\nworld`;

console.log(str1);
console.log(str2);
console.log(str3);

実行結果

String.rawを使用すると、以下の全てを文字列として扱うことができます。

var str = String.raw`!"#$%&\n\r\s\b`;
console.log(str);

実行結果

ただし、最後に「 \ 」があるとエラーとなります。

var str = String.raw`\var\www\`;
console.log(str);

実行結果

Uncaught SyntaxError: Unexpected end of input

なので、最後に「\」がある場合は、以下のようにする必要があります。

var str = String.raw`\var\www` + '\\';
console.log(str);

実行結果