JS には複数行の文字列の標準的な表現方法はありませんが、テンプレートを使用する場合、テンプレートの可読性を確保するために必然的に複数行の文字列を使用するため、さまざまな方法が登場しています。簡単に要約して比較するための例として、jade テンプレートを使用します。
1. 文字列の追加
これは、次のような最も簡単で最も一般的に使用される形式です
理解しやすく、シンプルで、信頼性が高い
単一の文字列に js ロジックを追加できる柔軟性
は、本当の意味での複数行の文字列ではありません。実際に複数行にしたい場合は、n
を追加する必要があります。多くの数字は、' と " が多く、醜いです。 >
これは行継続文字と呼ばれますが、一度使用すると非常に中毒性の高い文字です。 >
シンプル、各行にあと 1 つだけ必要です
効率的です!この方法は、ほとんどのブラウザで最も高速です。
欠点:
致命的な欠陥。各行にスペースを含めてはなりません。そうしないと、直接のスクリプト エラーが発生します。
は実際の複数行の文字列ではありません。実際の複数行の文字列が必要な場合は、n
を自分で追加する必要があります。 js エンジンはこれをサポートしていますが、ECMAScript
3. 文字列配列結合
理解しやすく、シンプルで信頼性が高い
単一の文字列に js ロジックを追加できる柔軟性があります
たくさんの数字と「、」、醜い
5. String.prototype.concat
一般的には使用されません。実際、文字列の concat メソッドはあまり一般的ではありません
理解しやすく、シンプルで信頼性があります
単一の文字列に js ロジックを追加できる柔軟性があります
欠点:
実際には複数行の文字列ではありません
「,」," がたくさんあり、醜いです
5. ヒアドキュメント
これは、関数
var tmpl = heredoc(function(){/*
!!! 5
html
include header
body
//IE 6 の場合
.alert.alert-エラー
IE8 公式ダウンロード
a(href="https://www.google.com/intl /en/chrome/browser/") | Chrome ダウンロード
include head
.container
.row-fluid
.span8
サイドバーを含める
フッターを含める
スクリプトを含める
*/});
利点:
欠点:
単一の文字列に js ロジックを追加することはできません。
6. コーヒースクリプト
これは言語を変更するのと同じであり、コンパイル ターゲットとして js を使用する Coffeescript のような言語を通じて、この言語に欠けている関数を実装することは素晴らしい選択です。
コードをコピー
coffeescript について知る必要があります
ファイル全体を Coffeescript で記述する必要があります
7. ES6
ES6 には、Chrome Canary Experimental で複数行の文字列が初めて実装されました。 JavaScript はこの機能を使用でき、typescript もこのメソッドをサポートします
コードをコピー
JS エンジンのサポートが限定的
8. まとめ
これらの書き方を見て、どのように選択しますか? Coffeescript を使用している場合、クライアント上でコンプレッサーでコメントを削除する問題が解決されている場合は、サポートされている複数行の文字列記述方法を自由に使用してください。解決できない場合は、ヒアドキュメントを使用することをお勧めします。コンプレッサーの問題 質問です。接続にはバックスラッシュを使用します。各行に 1 文字を追加するだけです。