見出し画像

「”」と「’」と「`」の使い分け

オレンジピーチのトシです。
今回は、GASで文字列を扱う場合に用いる「引用符」について書いていきたいと思います。
引用符とは「”」と「’」と「`」のことと、軽く捉えて読み進めてみて下さい。


はじめに

GAS(Google Apps Script)を使うなかで、使用頻度が高いのが「文字列」だと思います。この文字列を扱うデータ型が文字列型(String型)です。
GASでは、文字列型を扱う際には、ダブルクォーテーション(")、シングルクォーテーション(')、バックティック(`)の3つの引用符が使用されます。(バックティックはバッククォートとも呼ばれます。)

GASでは、スプレッドシートやドキュメント等との連携も頻繁に行われますが、これらのIDやURLも文字列型で使用するため、GASのスクリプトでは文字列を扱う機会が多くなる印象です。

引用符の使い方

基本的な使い方

まず引用符の基本的な使い方です。
次の図のように、引用符で囲むことで文字列として扱うことが出来ます。

スプレッドシートのIDを指定したり、シートの名前を指定したり、セルの位置はを指定したり、GASは引用符の使用機会が多いプログラム言語だと思います。

「シングルクォーテーション」と「ダブルクォーテーション」

引用符として主に使われるのが、シングルクォーテーション(')とダブルクォーテーション(")です。
WEBをネットサーフィン(死語)してみると、シングルが良い、ダブルが良いといった意見が両方ありますが、私自身は、基本的にどちらでも良いと考えています。
特に、生成AIを使用してGASのコードを作る際には、その時々で違う引用符が使われることが頻繁に発生します。

例として、同じ指示文を生成AIに与えてみました。

GASで下記のIDを開くコードを書いてください。
ID → 16q6D-6UDm8vgCDUZbXZAl8D96RPMk76EY_bLb6CTCAA

返ってきた回答が下記の通りです。
この違いは、生成AIの種類の問題ではなく、生成AIが参照しているデータの中に両方の書き方が、ともに大量にあるからだと思います。
実際、同じ生成AIに似たような質問を繰り返したところ、シングルクォーテーション(')で回答が返ってくる場合と、ダブルクォーテーション(")で回答が返ってくる場合と両方のパターンが発生しました。

ChatGPTの場合

Microsoft Copilotの場合

Google Gemini の場合

このように、生成AIからは、シングルクォーテーション(')を用いるGASコードと、ダブルクォーテーション(")を用いるGASコードの、どちらも回答として帰ってくる可能性があるため、どちらかにこだわったスクリプトを作ることはあまり意味がないと考えます。

「シングル」と「ダブル」の使い分け

上記のような状態の中で、シングルクォーテーションとダブルクォーテーションを使い分けるメリットが発生する場面が、文字列の中に「'」もしくは「"」を持つ場合です。

例えば、英語の文章を文字列として使用したい場合、下記のような使い方が有効です。

英文の中に「'」が使われているので、「”」で囲むことで文字列として認識しています。もし「'」で囲むとエラーになります。
逆に文字列の中で「"」が使われている場合には、「'」で囲むことで文字列として認識することが出来ます。
(他にも文字列中の「'」の前にエスケープ文字を入れる方法もあります)

「バックティック(バッククォート)」の使い方

バックテック(')は、ダブルクォーテーション(")やシングルクォーテーション(')とは、違った用途で使われます。
その用途が、文字列への変数・定数の埋め込みです。
バックテックで囲まれた文字列は、テンプレート文字列と呼ばれ、文字列の中に式を組み込むことや、複数行に渡る文字列を表現することが出来ます。
テンプレート文字列は、ドル記号と波括弧で作った「${ 変数 }」という記述を行います。
これにより、変数や定数、式などを文字列の中に組み込むことが出来ます。

まとめ

今回は、GASで文字列を扱う場合に用いる「引用符」について事例を交えて紹介を行いました。
GAS初心者の人は、悩むぐらいであれば、あまり気にせずGASの作成を進めていくのが良いかと思います。
作成するGASが複雑になって、エラーで動かないといった場合に、ちょっと気にしてみる程度で良いと私は考えます。

最後に、今回のテーマである引用符について解説したnoteやサイトを紹介して記事を終わりたいと思います。
最後まで読んで頂き、ありがとうございました。
記事の内容が参考になった方は、「スキ」して頂けると励みになります。


いいなと思ったら応援しよう!

オレンジピーチ★トシ
この記事が少しでもお役に立てたのなら、サポートいただけると嬉しいです。頂いたご支援は、今後の活動費やコンテンツの質向上に使わせていただきます。