https://monologue.asappy.xyz/pages/js-template-literal/ からのセルフ転載。

ここではJavaScriptでのテンプレートリテラルについて解説します。


x = 1; y = 2;

テンプレートリテラルを知らない者は、変数を含む文字列を
"変数x : " + x + ", 変数y : " + y
// “変数x : 1, 変数y : 2” と記述するしかない。

しかし!
テンプレートリテラルを知る者は、変数を含む文字列を
変数x : ${x}, 変数y : ${y}
// “変数x : 1, 変数y : 2” こう記述する。

ご存知でしょうか?


x = 100; y = 20;

これが、
"calc(" + x + "% - " + y + "px)"
// “calc(100% - 20px)”

こう。
calc(${x}% - ${y}px)
// “calc(100% - 20px)”

見やすいでしょ~


s = 80; l = 50;

これが、
"rgb(" + (Math.random() * 360) + "deg, " + s + "%, " + l + "%)"
// “rgb([ランダム]deg, 80%, 50%)”

こう。
rgb(${Math.random() * 360}deg, ${s}%, ${l}%)
// “rgb([ランダム]deg, 80%, 50%)”

便利でしょ~

つかいかた

記述

バッククオート“で囲んだ文字列の中で、ドル記号$に波括弧{}をつけたもの${}の中に式を記述することで、文字列の中にその評価値を埋め込むことができる。

例:
let str = 文字列${式}文字列;
console.log(文字列${式}文字列);

文字列内の改行

テンプレートリテラル内での改行は、改行文字として反映されます。\n

例:

`1行目-
-2行目`
 
/*
 * 1行目-
 * -2行目
 */

ソースコード内で改行して続けて記述

ソースコードの複数行にわたって1行の文字列を記述したい場合は、改行の直前にバックスラッシュ\を挿入することで、リテラル中で改行できます。(テンプレートリテラルのみでなく、通常の文字列リテラル''""でも可能です)

例:

`1行目-\
-引き続き1行目`
 
/*
 * 1行目- -引き続き1行目
 */

`‘シングルクォート’と”ダブルクォート”`

テンプレートリテラル内では、シングルクォーテーション''とダブルクォーテーション""は自由に使用できます。

例:
onclick="window.location.href = '../index.html'"

おわり

タグ付きテンプレート など、もっと多くの機能を知りたいときは、MDN Web Docs