3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript】大量の文字列を結合するためにテンプレートリテラルを使う

Last updated at Posted at 2019-10-16

大量の文字列の結合に便利なものはないか?
という質問を幾度かされており、便利な記述法を知らない方にはお伝えしようという旨。

文字列の中で変数を直接展開できる

JavaScriptのテンプレートリテラルは、文字列の中で変数を直接展開する記述法です。
改行にも対応していて非常に便利。

まずはテンプレートリテラルを使わず、+ で結合する例から。
自己紹介をしてみましょう。

+で結合する例

const week = 4;
const lang = "JavaScript";

console.log(lang + "を学び始めて" + week + "週間目です");
// JavaScriptを学び始めて4週間目です

+が大量に出てきました… 書くのも大変でエラーもよく起こりそうです。
これをテンプレートリテラルを使って置き換えましょう。

テンプレートリテラルは

  • バッククォートで文字を囲む(バッククォートは Shift + @で打てます)
  • 変数を ${ }で包む

ことで記述できます。

テンプレートリテラルに置き換えた例

const week = 4;
const lang = "JavaScript";

console.log( `${lang}を学び始めて${week}週間目です`);
// JavaScriptを学び始めて4週間目です

+ を書く必要がなくなったことで、大変見やすくなったと思いませんか?
さらに、テンプレートリテラルは改行や空白にも強く、そのまま出力してくれます。

console.log(`改行前
改行後`)
// 改行前
// 改行後

さらにはこんな合わせ技も。
JavaScriptからHTMLタグを変数を利用して作れます。

<body>
  <div id="root"></div>

  <script>

    const greet = "Hello From JavaScript";
    const list = ["melon", "lemon", "grape"];
    document.getElementById("root").innerHTML = `
    <h1>${greet} </h1>
    <ul>
      <li>${list[0]}</li>
      <li>${list[1]}</li>
      <li>${list[2]}</li>
    </ul>
    `;
  </script>
</body>

結果

image.png

ぜひ皆さんも参考にしてみてください!

参考

この記事は「CodeShip」内での実際の質疑応答や指導・アドバイスの一部を基に作成しています。

3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?