JavaScriptの複数行の文字列

JavaScriptを使用してプログラミングする場合、コードの数行に複数行の文字列を入力しても、複数行の文字列を実現できないことに気付くことがよくあります。 PHPやRubyなどの他の言語でのタスクは問題ではありませんが、JavaScriptを使用すると、最初は回避策を回避することしかできません。回避策の使用は、個人的な好みやブラウザーのサポートによって決定されます。


明らかな試み

var str = "Dies ist eine
mehrzeilige
Zeichenkette.";

JavaScript(PHPなどの他のプログラミング言語とは対照的に)は各行の終わりの後に自動的にセミコロンを挿入するため、失敗し、パーサーはいくつかのことについて(予期しないトークンILLEGALの形で)不平を言います:

var str = "Dies ist eine;
mehrzeilige;
Zeichenkette.";

この問題の最初の解決策は、\ nおよび+演算子による単純な文字列の連結です。:

var str = "Dies ist eine\n" +
"mehrzeilige\n" +
"Zeichenkette.";

速度が遅く、少し良いバリアントが必要な場合は、各行の最後にバックスラッシュを追加します:

var str = "Dies ist eine\n\
mehrzeilige\n\
Zeichenkette";

または、joinメソッドを使用して取得することもできます:

var str = ["Dies ist eine",
"mehrzeilige",
"Zeichenkette"].join("\n");

一方、通常の式で目を輝かせる場合は、次の構文を使用してください(match()はコメント間の値をフィルタリングします):

var str = (function () {/*Dies ist eine
mehrzeilige
Zeichenkette*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];

重要:コードが縮小されている場合、この解決策は忘れられる可能性があります(コメントも削除されるため)。

最も優れたバリアントは、 ECMA6とテンプレート文字列の助けを借りて成功します:

var str = `Dies ist eine
mehrzeilige
Zeichenkette`;
バック