似たような質問がたくさんありますが、自分の状況にどのように適用すればよいかわからなかったので、具体的に説明しようと思います。たとえば、非常に長いタグ付きテンプレート リテラルがあります。
tag`This is a very long string that will be shown to ${userName}, that is annoying to have all on one line in the codebase.`
もちろん、コードベースにそれほど長い行を入れたくないので、分割したいと思います。を使用するなど、長い (タグなし) テンプレート リテラルを分割するための多くのオプションがあります+
。これを使ってみたのですが、操作の優先順位がめちゃくちゃです。私が使用する場合
tag`my` + `string`
その場合、タグは にのみ適用されmy
ます。私が試してみると(プラスの有無にかかわらず)
tag(`mystring`)
タグの機能が機能しなくなりました。健全性チェックとして、ブラウザ コンソールを開いて定義しました。
function myTag(strings) { return `${strings[0]}` }
これを通常の構文でタグとして使用すると、入力文字列が出力されます。括弧を使用すると、入力文字列の最初の文字が出力されます。だから私はそこで何が起こっているのか分かりません。
使うことができます
tag`my\
string`
しかし、それでは 2 行目をインデントできません。これは、長い行と同じくらい悪いことです。
これを考えると、長いタグなしテンプレート リテラルをタグ付きテンプレート リテラルに分割する方法を適用する方法がわかりません。
関連する場合に備えて、私が使用している関数t
はライブラリttagのタグです。