JavaScript Template Literalの使い方

この記事のポイント

Template Literalについて理解を深めるために、以下の重要なポイントを押さえておきましょう。

  • バッククォートを使った文字列記法で変数や式の埋め込みが簡単
  • 複数行の文字列を改行を保持したまま直感的に記述可能な機能
  • 従来の文字列連結よりも読みやすく保守性の高いコードを実現

これらのポイントを理解することで、より効率的なJavaScriptコードが書けるようになります。

目次

Template Literalとは?

Template Literalは、ES6(ECMAScript 2015)で導入された文字列を扱うための新しい記法です。従来のシングルクォートやダブルクォートの代わりにバッククォート(`)を使用し、文字列の中に変数や式を直接埋め込むことができます。この機能により、文字列の連結が不要になり、より読みやすく保守性の高いコードが書けるようになりました。

また、改行を含む複数行の文字列も自然に記述できるため、HTMLテンプレートやSQL文の作成など、幅広い場面で活用されています。

【関連】
JavaScriptをもっと詳しく学ぶならpaizaラーニング

基本構文

Template Literalの基本的な使い方を理解するために、いくつかのコード例を見てみましょう。最も基本的な形は、バッククォートで文字列を囲み、${}の中に変数や式を記述する方法です。

const ANIMAL = 'ネコ'; const MESSAGE = `今日は${ANIMAL}を見ました`; console.log(MESSAGE);

出力結果

今日はネコを見ました

複数行の文字列も簡単に作成できます。

const POEM = `ウサギが跳ねて イヌが走って トリが空を飛ぶ`; console.log(POEM);

出力結果

ウサギが跳ねて
イヌが走って
トリが空を飛ぶ

実用例

Template Literalの実践的な使用方法について、具体的なサンプルコードを通して学んでいきましょう。さまざまなシーンで活用できる8つのパターンを紹介し、それぞれのコード例とその実行結果を確認することで、実際の開発での応用力を身に付けることができます。

定数を使った文字列の作成

変数の値を文字列に組み込む最も基本的な使用例です。従来の文字列連結と比べて、コードの可読性が大幅に向上します。

const ANIMAL_NAME = 'ライオン'; const AGE = 5; const HABITAT = 'サバンナ'; const INTRODUCTION = `この${ANIMAL_NAME}は${AGE}歳で、${HABITAT}に住んでいます`; console.log(INTRODUCTION);

出力結果

このライオンは5歳で、サバンナに住んでいます

複数行文字列の作成

改行を含む長い文字列を自然な形で記述する例です。HTMLテンプレートやメール本文の作成に有効です。

const ANIMAL_INFO = `動物園の人気者: - ゾウ:大きな体と長い鼻が特徴 - キリン:首が長くて高い所の葉を食べる - パンダ:白と黒の模様で愛らしい外見`; console.log(ANIMAL_INFO);

出力結果

動物園の人気者:
- ゾウ:大きな体と長い鼻が特徴
- キリン:首が長くて高い所の葉を食べる
- パンダ:白と黒の模様で愛らしい外見

計算結果の埋め込み

数値計算の結果を直接文字列に埋め込む例です。計算式をそのまま記述できるため、コードの意図が分かりやすくなります。

const DOG_COUNT = 12; const CAT_COUNT = 8; const RESULT = `イヌが${DOG_COUNT}匹、ネコが${CAT_COUNT}匹で、 合計${DOG_COUNT + CAT_COUNT}匹の動物がいます`; console.log(RESULT);

出力結果

イヌが12匹、ネコが8匹で、
合計20匹の動物がいます

条件分岐を含む文字列生成

三項演算子を使用して、条件に応じて異なる内容を文字列に組み込む例です。
動的なメッセージ生成に役立ちます。

const TEMPERATURE = 25; const ANIMAL = 'ペンギン'; const WEATHER_MESSAGE = `今日の気温は${TEMPERATURE}度です ${ANIMAL}には${TEMPERATURE > 20 ? '暖かすぎる' : '適した'}気候です`; console.log(WEATHER_MESSAGE);

出力結果

今日の気温は25度です
ペンギンには暖かすぎる気候です

オブジェクトのプロパティ埋め込み

オブジェクトのプロパティにアクセスした結果を文字列に組み込む例です。
データ構造を活用した動的な文字列生成が可能になります。

const ANIMAL_DATA = { name: 'トラ', weight: 180, habitat: '森林' }; const PROFILE = `動物名:${ANIMAL_DATA.name} 体重:${ANIMAL_DATA.weight}kg 生息地:${ANIMAL_DATA.habitat}`; console.log(PROFILE);

出力結果

動物名:トラ
体重:180kg
生息地:森林

関数の戻り値を含む文字列

関数の実行結果を文字列に直接埋め込む例です。
処理の結果を即座に文字列として表現したい場合に便利です。

function getAnimalSound(animal) { return animal === 'イヌ' ? 'ワンワン' : 'ニャーニャー'; } const PET = 'イヌ'; const SOUND_MESSAGE = `${PET}の鳴き声は${getAnimalSound(PET)}です`; console.log(SOUND_MESSAGE);

出力結果

イヌの鳴き声はワンワンです

配列要素の表示

配列の要素にアクセスしてその値を文字列に組み込む例です。
リストデータを文字列として表現する際に活用できます。

const ANIMALS = ['ウマ', 'ヒツジ', 'ヤギ']; const FARM_REPORT = `牧場には${ANIMALS[0]}、${ANIMALS[1]}、${ANIMALS[2]}がいます。 全部で${ANIMALS.length}種類の動物がいます`; console.log(FARM_REPORT);

出力結果

牧場にはウマ、ヒツジ、ヤギがいます。
全部で3種類の動物がいます

日付フォーマットの作成

日付オブジェクトのメソッドを使用して、フォーマットされた日時文字列を作成する例です。ログやレポート作成で頻繁に使用される手法です。

const TODAY = new Date(); const ANIMAL_OBSERVATION = `${TODAY.getFullYear()}年${TODAY.getMonth() + 1}月${TODAY.getDate()}日 今日はサルの群れを${TODAY.getHours()}時頃に観察しました`; console.log(ANIMAL_OBSERVATION);

出力結果(例)

2025年9月23日
今日はサルの群れを15時頃に観察しました

※実行した時刻により結果は変わります。また、時刻はUTC形式で計算されるため、日本時間での計算結果と異なる場合があります

まとめ

Template Literalは、JavaScript開発において欠かせない機能となっています。従来の文字列操作と比較して、コードの可読性と保守性が大幅に向上し、開発効率の向上に大きく貢献します。バッククォートと${}記法を使用することで、変数や式の埋め込み、複数行文字列の作成が直感的に行えるようになりました。

Template Literalの活躍する場面

  • HTMLテンプレートの動的生成でユーザーインターフェース構築時
  • API通信でのURLやJSON文字列の作成での動的パラメータ設定時
  • ログ出力やデバッグメッセージでの詳細な情報表示時

重要なポイント

  • バッククォートと${}記法の正しい使い方をマスターする基本構文
  • 従来の文字列連結との使い分けを理解した適切な場面での活用
  • 複雑な式や関数呼び出しも埋め込める柔軟性を活かした設計

Template Literalを適切に活用することで、より読みやすく効率的なコードが書けるようになり、チーム開発での生産性向上にもつながります。実際のプロジェクトでぜひ活用してみてください。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. JavaScriptのリファレンス記事一覧
  4. JavaScript Template Literalの使い方