gas(Google Apps Script)の変数とは?
gas(Google Apps Script)開発の基礎、変数について解説します。
GASでは変数の型は var let const の3種類しかありません。
文字列も、数字もすべてその3つの中に入ります。それぞれ詳しく説明していきます。
C#やJavaみたいな、型を明確に指定する言語を使っていた人は少し混乱するかもね。
gasの変数 - var、let、constの使い方と違い
gasでは、変数を宣言するためにvar
、let
、const
の3つの型が使用されます。
それぞれの特徴を表にまとめました。
まずは機能の違いから行きましょう
var | let | const | |
再宣言 | × | 〇 | × |
再代入 | 〇 | 〇 | × |
スコープ※ | ブロック | 関数 | ブロック |
ここからわかる推奨利用シーンをまとめました。
推奨利用シーン | 理由 | |
var | 利用非推奨 | 意図せず同名の変数が宣言される恐れがある |
let | 値を書き換える変数に対して利用推奨 繰り返し内で利用する変数 | varの懸念点がなく、値の書き換え可能な型なため |
const | 値を書き換えない定数に対して利用推奨 | 固定値の書き換えの恐れがないため |
gasの変数 -var、let、constの宣言方法
関数内に記載することで、宣言することができます。
Constはすべて大文字にする等、わかりよくするコーディングルールを設けることが一般的です。
var message = "Hello, World!";
let anotherMessage = 'This is a string.';
const SITENAME = "GasScriptExamples";
gasの変数 - グローバル変数
グローバル変数とは?
グローバル変数は、プログラム内のどの場所からでもアクセスできる変数です。つまり、関数やブロック内に限定されず、スクリプト全体で使用することができます。
グローバル変数はグローバル変数型があるわけではなく、let var const それぞれの型に対して、グローバルか?否か?を設定するものだよ
以下に、GASにおけるグローバル変数の特徴と使い方について説明します。
グローバル変数の特徴:
- スコープ: グローバル変数はスクリプト全体で有効です。関数やブロック内に限定されず、どこからでもアクセスできます。
- 初期化と宣言: グローバル変数は、宣言と同時に指定する必要はありません。ただし、必要に応じて別の場所で初期化することもできます。
- ライフサイクル: グローバル変数はスクリプトが実行されている間ずっと存在し、その値はプログラムの実行中に変更されます。
グローバル変数の実例
以下の例では、グローバル変数counter
を使用して、関数内と関数外での値の共有と操作を行っています。
var counter = 0; // グローバル変数の宣言と初期化
function incrementCounter() {
counter++; // counterの値をインクリメント
}
function printCounter() {
Logger.log("Counterの値: " + counter); // counterの値をログに表示
}
incrementCounter(); // counterの値を1増やす
printCounter(); // Counterの値: 1 がログに表示される
counter
変数をグローバルスコープで宣言し、それをincrementCounter()
関数とprintCounter()
関数で使用しています。
incrementCounter()
関数ではcounter
の値をインクリメントし、printCounter()
関数ではその値をログに表示しています。
このように、グローバル変数を使用することで、関数間でデータを共有し、必要な場所で変数の値を操作することができます。
グローバル変数利用の注意点
プログラムが複雑になると、グローバル変数の追跡や値の変更が難しくなります。
そのため、なるべく最低限のケースでのみグローバル変数を使用し、コードの可読性と保守性を確保することが重要です。
何でもかんでもグローバルにすると処理が重くなるし、意図しない変数の書き換えが起きてエラーのもとになるんだよね
まとめ
この記事ではvar
、let
、const
の違いと使い方とグローバル変数について説明しました。
変数は大量に利用されるものなので、命名ルールと利用範囲の制限が非常に重要になります!コーディング規約をもって開発していきましょう!
コメント