JavaScript テンプレートリテラル いつから?

JavaScriptのテンプレートリテラル:登場と利点

JavaScriptの開発において、文字列操作は避けて通れない道です。しかし、従来の文字列連結は、可読性や保守性の面で課題がありました。そこでES6(ECMAScript 2015)から導入されたのが、**テンプレートリテラル**です。

テンプレートリテラル誕生の背景

ES6以前は、変数と文字列を組み合わせる際、以下のようにプラス記号を用いた連結が一般的でした。


const name = "太郎";
const age = 20;

const message = "私の名前は" + name + "です。年齢は" + age + "歳です。";
console.log(message); // 出力: 私の名前は太郎です。年齢は20歳です。

しかし、この方法はコードが冗長になりやすく、可読性が低下するという問題点がありました。特に、複数行に渡る文字列や変数の埋め込みが多い場合、コードの解読が困難になるケースも少なくありませんでした。

ES6の救世主:テンプレートリテラル

テンプレートリテラルは、バッククォート(`)で囲まれた文字列を作成する構文です。従来の方法に比べて、以下の利点があります。

特徴 説明
変数の埋め込み `${変数名}` のように、文字列内に変数を直接埋め込むことができます。
複数行の文字列 バッククォートで囲むことで、改行を含む複数行の文字列をそのまま表現できます。
式の実行 `${}` 内では、変数の参照だけでなく、式を記述してその結果を埋め込むことができます。

先ほどの例をテンプレートリテラルで書き直すと、以下のようになります。


const name = "太郎";
const age = 20;

const message = `私の名前は${name}です。年齢は${age}歳です。`;
console.log(message); // 出力: 私の名前は太郎です。年齢は20歳です。

このように、テンプレートリテラルを使用することで、コードの可読性が大幅に向上します。また、複数行の文字列もそのまま記述できるため、HTMLなどのマークアップを埋め込む際にも便利です。

テンプレートリテラルの実用的な例

以下は、テンプレートリテラルを用いてHTMLの一部を生成する例です。


<ul>
  <li>商品名: ${itemName}</li>
  <li>価格: ${price}円</li>
</ul>

この例では、JavaScriptの変数 `itemName` と `price` が、HTML内の`${}` で囲まれた部分にそれぞれ埋め込まれます。このように、テンプレートリテラルは動的なコンテンツ生成に非常に役立ちます。

まとめ

テンプレートリテラルは、ES6から導入された強力な機能です。従来の文字列連結に比べて、可読性、保守性、表現力が大幅に向上します。動的な文字列操作を行う際には、積極的に活用していくことをおすすめします。

参考文献

関連QA

Q1. テンプレートリテラルと従来の文字列連結の使い分けは?

A1. 基本的に、変数を含む文字列を作成する場合はテンプレートリテラルを使用します。ただし、ES6以前の環境をサポートする必要がある場合は、従来の文字列連結を使用する必要があります。

Q2. テンプレートリテラル内でHTMLタグを使用できますか?

A2. はい、使用できます。テンプレートリテラルは複数行の文字列をそのまま表現できるため、HTMLタグを含む文字列も問題なく作成できます。

Q3. テンプレートリテラルで複数行の文字列を出力する際、インデントは保持されますか?

A3. はい、保持されます。テンプレートリテラルでは、コード上のインデントもそのまま出力に反映されます。

その他の参考記事:JavaScript文字列テンプレート