初心者向け!GASで始めるテンプレートリテラル超入門

GASでテンプレートリテラルってどうやって使うのかな?簡単にデータを埋め込んだりできるって聞いたんだけど…
猫男
猫男
catman
catman
いい質問だな。テンプレートリテラルはGASでも活用できる便利な機能だ。catmanが教えてやろう。

テンプレートリテラルって何?

まずは、テンプレートリテラルとは何かを説明しよう!これはJavaScriptの文字列操作に関する機能で、「バッククォート」で囲まれた文字列の中に変数や式を埋め込むことができる。

テンプレートリテラルの基本形

テンプレートリテラルはバッククォート(`)で囲み、埋め込みたい変数や式を ${} の中に記述することで使う。

const name = "GAS初心者";
const greeting = `こんにちは、${name}さん!`;
Logger.log(greeting);

使用した方法:
${} で変数や式を埋め込む。
const は変数を宣言するキーワードだ。Logger.log() はコンソールに結果を表示するために使われる。

おお、シンプルに変数を埋め込めて、とても見やすいです!他にも応用が知りたいな。
猫男
猫男

応用例:複雑な文字列の操作

テンプレートリテラルは単純なテキスト埋め込みだけではなく、式や計算結果を組み込むのにも役立つ。

文字列の中で計算を行う

テンプレートリテラル内で計算したい場合も ${} を使って書くことができる。

const price = 1500;
const tax = 0.1;
const total = `合計金額は${price * (1 + tax)}円です。`;
Logger.log(total);

解説:
${price * (1 + tax)} の部分で商品の税込み価格を計算している。

これなら、計算結果も簡単に文字列に含められて楽ですね。
猫男
猫男

テンプレートリテラルをGASで活用しよう

テンプレートリテラルは、Google Apps Scriptのログ出力Gmail送信といった処理でも、とても役立つ。

GmailAppでの使用例

例えば、ユーザーに送信するメールの本文にテンプレートリテラルを用いることも可能だ。

function sendEmail(name, email) {
  const subject = "ようこそ!";
  const body = `こんにちは、${name}様。
このメールはあなたの登録確認用に送信されています。`;
  GmailApp.sendEmail(email, subject, body);
}

解説:
GmailApp.sendEmail() メソッドを使い、テンプレートリテラル内で動的な名前を埋め込んでいる。

メールの内容を動的に変えるのに、とても便利な方法ですね!
猫男
猫男

練習問題:テンプレートリテラルを使いこなそう

以下の要件に従って、テンプレートリテラルを使ってコードを書いてみよう。

  1. ユーザー名とスコアを受け取り、ランキングメッセージを作成する関数を定義しよう。
  2. 受け取ったスコアに基づいて、メッセージに計算した評価を埋め込もう。

解答・解説

解答例:

function createRankingMessage(username, score) {
  const evaluation = score > 80 ? '素晴らしい' : 'がんばりましょう';
  const message = `${username}さんのスコアは${score}点です。評価は「${evaluation}」です。`;
  Logger.log(message);
}

解説:
createRankingMessage() 関数では、score に対する条件分岐で評価を変えています。
${username}${evaluation} の部分に変数を埋め込んでいる。

catman
catman
テンプレートリテラルを活用して、より柔軟なコードを書けるようにどんどん練習すると良いさ。