GASの変数・定数(識別子)の命名規則!使える記号や予約語、キャメル記法などのルールを解説

Google Apps Script(GAS)では、変数や定数の宣言時に識別子として名前をつけます。

その識別子の命名規則として、使える数字や記号などの条件に加え、予約語があります。

それに加えて、どのように変数・定数・関数の識別子を命名するかの記法があるので、解説します。

GASの変数・定数の識別子とは

Google Apps Script(GAS)では、文字列や数値を格納する変数や定数を宣言して定義します。

定義した変数・定数を後々の処理で呼び出せるように、一意な名前をつけます。

GAS変数・定数につけた名前のことを「識別子」と呼びます。

Google Apps Script(GAS)では変数宣言時に名前をつけた識別子を使って変数を再利用

識別子は色々な名前をつけることができますが、一定の命名ルールに加え、コードの可読性を担保するため、分かりやすい名前をつけることが大切です。

識別子の文字や数字、記号の命名ルール

Google Apps Script(GAS)の識別子は色々な名前をつけることができますが、命名ルールが設けられています。

Javascriptと同様の命名ルールですが、以下の4つの命名ルールが挙げられます。

  1. 記号で使えるのは「_(アンダーバー)」か「$」のみ
  2. 先頭文字は文字または「_」か「$」の記号で、数字は不可
  3. Javascriptの予約語は使用不可※予約語は後ほど解説
  4. 大文字と小文字は別物と区別

GAS識別子として名前につけられる記号は「_(アンダーバー)」と「$(ダラー)」の2種類のみです。

その他の記号はスクリプトの中で、意味を持っているため、変数名に含めることができません。

また、0-9の数字は変数に含めることができるのですが、識別子の先頭文字には用いることができません。

後ほど詳しく解説しますが、Javascriptでifやfor、breakといったすでにコマンドとして用意されている、もしくはあらかじめ確保されている予約語も、識別子に利用不可です。

さらに、半角の英字は大文字と小文字を区別されるため、「people」、「People」、「PEOPLE」はそれぞれ変数・定数宣言すると、別個のものとして扱われます。

実は日本語の識別子も可能※ただし非推奨

上記のルールでは、日本語の全角文字については言及していませんが、実は日本語を変数名に用いることは可能です。

そのため、Google Apps Script(GAS)では以下のように漢字やひらがなの変数を定義することができます。

Google Apps Script(GAS)の変数名の識別子は英数字だけでなく、全角文字の日本語も使うことが可能

ただ、コーディングにおいて、全角文字を識別子に使うことはほとんどありません。

そのため、日本語も変数名に使えるからといって、GASの識別子に用いることはオススメではありません。

識別子に使えないGASの予約語も

Google Apps Script(GAS)の識別子で利用できないものに、Javascriptの予約語があります。

予約語の中には以下のようなものが挙げられています。

break, case, catch, class, const, continue, debugger, default, delete, do, else, enum, export, extends, false, finally, for, function, if, import, in, instanceof, let, new, null, return, switch, super, this, throw, true, try, typeof, var, void, while, with

これらは宣言文や条件分岐や繰り返し処理などのコマンドとして用意されています。

同じ単語を変数として定義してしまうと、GASがコマンドなのか変数なのか理解できません。

これらの予約語を変数や定数、関数の宣言時に識別子として設定すると、GASスクリプト保存時にエラーします。

キャメル記法やスネーク記法の命名規則

識別子に使える命名ルールや予約語は、抵触してしまうとGoogle Apps Script(GAS)のスクリプトでエラーが生じます。

ただ、変数名や定数名はこれまで紹介してきたルールさえ守っていればよいわけではありません。

GASスクリプトを書いた人以外も読みやすいように可読性を高めるためには、分かりやすい識別子をつけるのが大切です。

そのためには、変数名・定数名・関数名を宣言時につける際に以下を考慮しましょう。

  1. 変数の中身や役割が分かるような意味のある名前にする
  2. 前述した通り日本語ではなく、英単語を使う
  3. 変数・定数がひと目で分かるよう命名ルールを分ける

上記に加え、可読性を向上させるためのコーディング規則として、キャメル記法やパスカル記法、スネーク記法が用いられます。

  1. キャメル記法:単語を連結時、2つ目以降の単語の頭文字を大文字に
  2. パスカル記法:単語を連結時、すべての単語の頭文字を大文字に
  3. スネーク記法:単語を連結時に_(アンダーバー)を使う

主に変数や関数(プロパティ・メソッド)では、キャメル記法による命名ルールが使われます。

userDataやdataNumといった形で記述するのがキャメル記法です。

パスカル記法はキャメル記法に近いですが1つ目の単語から大文字としてSlackAppやImageAppなどのライブラリ・クラスで利用されます。

スネーク記法は単語の連結時にアンダーバーを使ってつなげますが、定数宣言時にすべて大文字にしてMAX_COUNTやUSER_IDといった書き方をします。

まとめ・終わりに

今回、Google Apps Script(GAS)で変数や定数の識別子の命名ルールについて紹介しました。

変数宣言時には英数字と_や$などの一部の記号しか使えないや、先頭文字には数字がNGなどのルールがあります。

さらに、予約語と言われるすでに制御や繰り返し構文で利用している単語は使えない制約条件もあります。

その上で、GASスクリプトの可読性を高めるためのキャメル記法などがよく用いられます。

変数の定義で「a」や「hoge」といった適当な変数名の識別子を使うケースもありますが、のちのち見た時に何に利用しているかわかりにくいです。

そのため、多少長くなっても、意味が分かる名前にしておくのことでコードの可読性を高めることができます。

変数はキャメル記法、定数はスネーク記法など命名ルールを定め、厳格に運用することで保守しやすいコードを書きましょう。