タグ付けされた質問 「template-literals」

8
文字列に新しい行を作成せずに長いテンプレートリテラル行を複数行に折り返します
es6テンプレートリテラルで、文字列に新しい行を作成せずに長いテンプレートリテラルを複数行にラップするにはどうすればよいですか? たとえば、次のようにした場合: const text = `a very long string that just continues and continues and continues` 次に、新しい行があると解釈して、文字列に新しい行記号を作成します。改行を作成せずに長いテンプレートリテラルを複数の行にラップするにはどうすればよいですか?

18
ES6テンプレートリテラルを実行時に置換(または再利用)できますか?
tl; dr:再利用可能なテンプレートをリテラルにすることは可能ですか? 私はテンプレートリテラルを使用しようとしましたが、私はそれを取得できなかったと思いますが、今はイライラしています。つまり、私はそれを理解していると思いますが、「それ」は、それがどのように機能するか、またはそれがどのように機能するかではありません。別の方法で取得する必要があります。 私が見たすべての例(タグ付きテンプレートを含む)では、「置換」は実行時ではなく宣言時に行う必要があります。これは、私にとってテンプレートにはまったく役に立たないようです。多分私は狂っていますが、私にとっての「テンプレート」は、作成時にではなく、使用時に置換されるトークンを含むドキュメントです。それ以外の場合、それは単なるドキュメント(文字列)です。テンプレートはトークンとともにトークンとして保存され、それらのトークンは評価時に評価されます。 誰もが次のような恐ろしい例を挙げています: var a = 'asd'; return `Worthless ${a}!` それはいいですが、もし私がすでに知っているならa、私はただreturn 'Worthless asd'かしreturn 'Worthless '+aます。ポイントは何ですか?真剣に。さて、ポイントは怠惰です。プラスが少なく、読みやすくなります。すごい。しかし、それはテンプレートではありません!私見ではない。そして重要なのはMHOだけです。問題は、私見ですが、テンプレートが宣言されたときに評価されるということです。 var tpl = `My ${expletive} template`; function go() { return tpl; } go(); // SPACE-TIME ENDS! expletiveは宣言されていないため、のようなものが出力されますMy undefined template。素晴らしい。実際、少なくともChromeでは、テンプレートを宣言することすらできません。expletive定義されていないため、エラーがスローされます。テンプレートを宣言した後で置換を実行できるようにする必要があります。 var tpl = `My ${expletive} template`; function go() { return tpl; } var expletive …

2
関数を呼び出すバックティック
これを説明する方法がわかりませんが、実行すると console.log`1` グーグルクロームでは、私は次のような出力を取得します console.log`1` VM12380:2 ["1", raw: Array[1]] バッククォートがlog関数を呼び出すのはなぜraw: Array[1]ですか?また、インデックスを作成するのはなぜですか? CatgocatによってJSルームで質問が提起されましたが、なぜこれが起こっているのか実際には合わない文字列のテンプレート化に関するもの以外に、答えは意味がありませんでした。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.