ひな姉と学ぶJS!もう「+」の嵐にサヨナラ?テンプレートリテラル入門

Javascriptテンプレートリテラルサムネ

登場人物
天野 陽菜(あまの ひな):自社サービス開発企業に勤めるフロントエンドエンジニア(29歳)。明るくフレンドリーで、後輩の育成にも積極的。実は元ゲーマーで方向音痴。

後輩ちゃん:JavaScriptを学び始めた初心者。疑問を持ちつつも、天野先輩の解説で理解を深めていく。

目次

今回のテーマは、「文字列」をもっと使いやすく!

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]ひな姉、こんにちは!今日もよろしくお願いします![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]こんにちはー!今日も元気に頑張ろうね!
今回のテーマは、文字列をもっと使いやすく!だよ。
後輩ちゃんはJavaScriptで変数の値と文字列をくっつけたい時って、どうしてる?[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_57_27.png” name=”後輩ちゃん” type=”l line”]えっと、プラス記号(+)でつなげてます。でも、変数が多くなると、プラスがいっぱい並んでちょっと見づらいなーって思うこともあります。[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]うんうん、分かるよー。特に長い文章の中に変数をたくさん入れたい時とか、改行を入れたい時とか、結構大変だったりするよね。
今日は、そんな文字列操作をもっと直感的でスッキリ書けるようにする『テンプレートリテラル』っていう秘密兵器を紹介するよ![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]秘密兵器!なんですかそれ、すごく気になります![/voice]

解説
今回のテーマはテンプレートリテラルです。
後輩ちゃんのように毎回文字連結を+で行うと、””や+が増えてしまってとても見づらいコードになってしまいます。
今回紹介するテンプレートリテラルを使いこなせば、すっきりとしたコードを書けるようになりますよ!

これまでの文字連結を思い出してみよう

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]例えば、ユーザーの名前と年齢を表示するメッセージを作りたいとするよ?
今までのやり方だと、こんな感じかな。[/voice]

const username = "山田";
const age = 30;
const message = "こんにちは、" + username + "さん。あなたは" + age + "歳ですね。";
console.log(message);

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_38.png” name=”後輩ちゃん” type=”l line”]はい、こんな感じです。クォーテーションとプラス記号がたくさん・・・[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]そうだよね。
もし、ここに改行を入れたいと思ったら、\n を使ったりして、さらに複雑になっちゃう。
これがテンプレートリテラルを使うと、劇的に見やすくなるんだ。[/voice]

文字列連結の救世主!テンプレートリテラルの基本的な使い方

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]じゃーん!これがテンプレートリテラルを使った書き方だよ![/voice]

const userName = "山田";
const age = 30;
const messageLiteral = `こんにちは${userName}さん。あなたは${age}歳ですね。`;
console.log(messageLiteral);

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]わ!全然違いますね!クォーテーションが、なんか変わった記号になってるし、プラス記号もなくなってる![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]その通り!テンプレートリテラルは、シングルクォート(')やダブルクォート(")の代わりに、バッククォート`)で文字列全体を囲むんだ。
そして、文字列の中に変数を埋め込みたい時は、${} で変数を囲ってあげるだけ。すっきりしたでしょ?[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]バッククォート…キーボードのどこにあるんだろう? あ、Shift押しながら@マークのところですね! ${userName} って書くだけでいいんだ。これは分かりやすいです![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]そうそう!慣れると本当に便利だよ!
もうプラス記号の数え間違いとか、クォーテーションの閉じ忘れで悩むことも減るはず。[/voice]

解説
文字列をバッククォート(`)で囲み、${}の中に変数を入れることで、文字列と変数を連結することができます。
私も初心者の頃は間違っていたのですが、シングルクォーテーション(‘)とは別物なので、注意が必要です!

テンプレートリテラルの便利な機能、もっと知りたい!

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]テンプレートリテラルのすごいところは、これだけじゃないんだよ。
まず、改行がそのまま文字列に反映されるの![/voice]

const profile = `名前:山田太郎
職業:エンジニア
趣味:読書`;
console.log(profile);

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]え! \n を書かなくても、見たまま改行されるんですか?
これは便利すぎます!今まで一行で書くのが大変だったHTMLとかも書きやすくなりそう。[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]その通り!HTMLのテンプレートを作る時とかに大活躍するよ。
それにね、${} の中には、変数だけじゃなくて式も書けるんだ。[/voice]

const price = 1000;
const taxRate = 0.1;
const messageTax = `商品の税込価格は、${price * (1 * taxRate)}円です。`;
console.log(messageTax);//商品の税込価格は、1100円です。

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]おおー!計算結果も直接埋め込めるんですね!わざわざ別の変数を用意しなくていいんだ![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]そうなんだよ。簡単な計算なら、そのまま書けちゃうからコードも短くなるよね。
まるで、アイテム合成みたいに、必要な素材をその場で組み合わせて新しいものを作り出す感じかな。[/voice]

解説
テンプレートリテラル内で改行した文章は、そのまま改行されて表示されます。
通常は改行を表す\nを入力しますが、入力しなくていいのでシンプルなコードになります。
また計算式を挿入することもできるため、計算結果を直接HTMLに反映したい時も便利です。

テンプレートリテラルでこんなことも!実践的な使い方

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]例えば、ユーザー情報のリストがあって、それを元にHTMLのリストを作りたい時とか、テンプレートリテラルは本当に力を発揮するよ。[/voice]

const users = [
{id:1, name:"佐藤"},
{id:2, name:"鈴木"},
{id:3, name:"高橋"}
];

let userListHtml = "<ul>\n";
users.forEach(user => {
userListHtml += `<li>ID:${user.id}、名前:${user.name}</li>\n`;
});
userListHtml += "</ul>";

console.log(userListHtml);
/*
出力結果:
<ul>
  <li>ID: 1, 名前: 佐藤</li>
  <li>ID: 2, 名前: 鈴木</li>
  <li>ID: 3, 名前: 高橋</li>
</ul>
*/

解説
usersという配列に入っている要素を、ForEachでループさせています。
テンプレートリテラルでusersのバリュー(idとnameに対応している値)を挿入することで、IDと名前が入ったリストのHTMLを生成しています。

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]わあ、HTMLの構造がすごく分かりやすいですね! <li> タグの中に変数を埋め込むのが、こんなに簡単になるなんて。[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]でしょ? forEach とか map みたいな配列メソッドと組み合わせると、動的なコンテンツ生成がすごく楽になるんだ。もう、文字列連結のためにシングルクォートとダブルクォートを使い分けたり、プラス記号の抜け漏れを心配したりする手間が大幅に減るよ。[/voice]

今回のまとめ:テンプレートリテラルを使いこなそう!

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]
今日のポイントをまとめると…

  • テンプレートリテラルは、バッククォート(`)で文字列を囲むよ!
  • 文字列の中に変数を埋め込む時は、${変数名や式} の形で書ける!
  • 改行も見たまま反映されるから、複数行の文字列がすごく書きやすい!
  • HTMLのテンプレート作成とか、動的な文字列生成にとっても便利!

どうだったかな?テンプレートリテラル、使ってみたくなった?
[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]はい!すごく便利そうなので、これから積極的に使っていきたいです!
特に改行が楽なのと、変数の埋め込みが分かりやすいのが気に入りました。[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]うんうん、ぜひ使ってみて!最初はバッククォートの入力にちょっと戸惑うかもしれないけど、すぐに慣れると思うよ。これでまた一つ、後輩ちゃんのJavaScriptスキルがレベルアップしたね!何か分からないことがあったら、いつでも聞いてね。[/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-11_49_35.png” name=”後輩ちゃん” type=”l line”]ひな姉、今日もありがとうございました!すごく分かりやすかったです![/voice]

[voice icon=”https://samurai-marketinglab.com/wp-content/uploads/2025/05/ChatGPT-Image-2025年5月30日-18_16_00.png” name=”天野先輩” type=”l line”]どういたしまして!また次回、新しいことを一緒に学んでいこうね。それじゃあ、またね![/voice]

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

大手広告代理店の激務で心身を消耗し、その後、共同経営していた会社を離れるという大きな転機を経験。現在はその経験を糧に、Webマーケティングの自営業を営む。
家族3人で沖縄の古民家へ移住し、月10万円の「小さく豊かな暮らし」を実践中。
マーケティングによる事業収益と、金融・不動産投資を組み合わせてサイドFIREを目指す30代。
2026年7月現在の運用資産額は700万円。

コメント

コメントする

CAPTCHA


目次