JavaScript 逆引き集 | 文字列テンプレートで複数行

JavaScript JavaScript
スポンサーリンク

文字列テンプレートで複数行 — line1\nline2

複数行の文字列は「改行コードを埋め込む方法」と「テンプレートリテラルでそのまま改行を書く方法」の2通りあります。初心者は、まず「\n は改行コード、バッククォート(`)なら改行をそのまま書ける」と覚えると迷いません。


基本のコード例(改行コードを使う)

const s = "line1\nline2\nline3";
console.log(s);
// 出力:
// line1
// line2
// line3
JavaScript
  • \n は改行を意味する特殊文字。
  • \t はタブ, \\ はバックスラッシュ, \" はダブルクォートなども同様にエスケープ文字で書けます。

テンプレートリテラルで複数行(バッククォート)

const s = `line1
line2
line3`;
console.log(s);
// 出力:
// line1
// line2
// line3
JavaScript
  • バッククォート(キーボードの数字1の左にある記号)で囲むと、複数行をそのまま書ける
  • 文字列中の 改行やインデントがそのまま反映されるので、可読性が高い。

よく使うテンプレート集

変数を埋め込む(式展開)

const name = "Aki";
const count = 3;
const msg = `Hello, ${name}!
You have ${count} messages.`;
console.log(msg);
JavaScript

HTML片を組み立てる

const items = ["Apple", "Banana"];
const html = `
<ul>
  ${items.map(i => `<li>${i}</li>`).join("\n  ")}
</ul>`;
console.log(html);
JavaScript

インデントを整える(trimで前後の空白除去)

const text = `
  line1
  line2
`.trim();
console.log(text);
// line1
// line2
JavaScript

例題: ログの整形出力

function formatLog(level, msg) {
  const now = new Date().toISOString();
  return `[${now}] ${level}\n${msg}`;
}

console.log(formatLog("INFO", "起動しました"));
// 1行目: [日時] INFO
// 2行目: 起動しました
JavaScript
  • 効果: 1行目にメタ情報、2行目に本文を分けて読みやすく出力できる。

実務でのコツ

  • 短い2〜3行なら "\n"。ロジック中での連結がしやすい。
  • 長文や整形はテンプレートリテラルが圧倒的に読みやすい。
  • 式展開 ${...} で変数を混ぜられるので、ログやHTML生成に便利。
  • 意図しないインデントが入ると困る場合は trim() や行頭空白を避けるための記法(左端に合わせて書く)を工夫する。

ありがちなハマりポイントと対策

  • 改行が出ない:
    • 原因: 文字列をシングル/ダブルクォートで囲み、改行を直接書いている。
    • 対策: 改行コード \n を使うか、バッククォートに切り替える。
  • Windowsの改行コード差\r\n)で差異が出ることがある:
    • 対策: 通常は \n で統一し、必要なら置換する。

練習問題(メール本文のテンプレート)

function buildMail(to, subject, body) {
  return `To: ${to}
Subject: ${subject}

${body}`;
}

console.log(buildMail("user@example.com", "ご連絡", "明日の会議は10時開始です。"));
JavaScript

直感的な指針

  • 短い改行は \n、長い整形はテンプレートリテラル。
  • ${} で変数を埋め込むと読みやすく保守もしやすい。
  • インデントや余計なスペースは trim() などで整える。
タイトルとURLをコピーしました