ElixirとPhoenixのフレームワークに関するチュートリアルが続きました。コードは、これは2行目にコンパイルエラーを生成するがjavascriptとelixirでのバックティックの使用
template.innerHTML = `
<a href="#" data-seek="${this.esc(at}">
<b>${this.esc(user.username)}</b>:${this.esc(body)}
</a>`
ことになっています。私はそれを変更した場合:
template.innerHTML =
'<a href="#" data-seek="${this.esc(at}">' +
'<b>${this.esc(user.username)}</b>:${this.esc(body)}' +
'</a>'
は、その後エラーがないが、それは正確な文字列を表示し、$ {}のセクションに代わるものではありません。何が起こっているか分からない。最初の切り札では、文字列のまわりを囲む "引用符"がありますか?私が読んでいる本を見るのは難しいです。
Javascriptには複数の文字列が含まれていないため、驚きはなく、バックティックはES6テンプレートの一部です。バックティックを省略すると、テンプレートを使用できなくなります。 – adeneo
@adeneo - 複数行の文字列は、テンプレート文字列を介してes6のJavaScriptに導入されています。あなたがes6のテンプレート文字列に言及したのと同じセンテンスでJavaScriptに複数の文字列がないと言うのは間違っています。 – gilly3
@ gilly3 - テンプレートリテラルは、複数行の文字列の補間を可能にするので、大した問題ではなく、テンプレートの 'this.esc()'関数の括弧が欠けているだけかもしれません。 – adeneo