【GAS変数入門】宣言方法・var/let/const・型の違いを詳しく解説
GASで変数ってどうやって使うんだろ?宣言とかスコープとかいろいろあって…

猫男

catman
よし、catmanが「GASの変数」についてわかりやすく教えてやろう!
GASの変数宣言と初期化方法
GAS(Google Apps Script)における変数宣言と初期化のポイントをつかんでおこう。
変数の宣言方法
var name;
let age;
const birthYear = 2000;
- var、let、constを使って変数を宣言する。
- letはブロックスコープ、varは関数スコープ。
- constは変更不可の定数を宣言。
変数の初期化
let message = "Hello World";
var count = 10;
- 変数を宣言すると同時に初期化すると便利。
- 初期化時に値を代入しないと
undefined
になる。
GASの変数の型と表示方法
GASの変数は色々な型に対応しているんだ。活用方法を紹介するぞ。
基本の型種類
let number = 42; // 数値(number型)
let text = "catman"; // 文字列(string型)
let isActive = true; // 真偽値(boolean型)
let colors = ["red", "green", "blue"]; // 配列(Array型)
let user = {
name: "タロウ",
age: 25,
isMember: true
}; // オブジェクト(Object型)
- よく使う型は数値、文字列、真偽値。
- 他にもオブジェクトや配列がある。
変数の表示
Logger.log(name);
Logger.log("年齢は" + age + "です。");
- GASでLogger.log()を使うと変数の値を確認できる。
- 変数の中身をプロジェクトの実行ログに出力する。
スコープとか型も大事なんだね。[単なる変数]って思ってたけど…

猫男

catman
その通りさ。変数のスコープもよく理解しておくとプログラムの意図しない動作を防げるぞ。
GASの変数のスコープと受け渡し方法
変数のスコープは、
変数が有効な範囲のこと
だ。変数の宣言方法(var / let / const)によって、スコープ(有効な範囲)が異なる点に注意しよう。
スコープの種類
function testScope() {
var local = "local variable";
if (true) {
let blockScope = "block scoped";
console.log(blockScope); // OK
}
console.log(local); // OK
// console.log(blockScope); // ❌ エラー:blockScope is not defined
}
- 関数スコープ:varで宣言された変数が関数の中だけ有効。
- ブロックスコープ:letやconstで宣言された変数は、そのブロック内のみで有効。
変数の受け渡し
変数の受け渡しについても理解しておこう。
function doubleNumber(number) {
return number * 2;
}
let result = doubleNumber(10);
Logger.log(result); // 20
- 引数を使って関数に変数を受け渡しできる。
- 関数は結果をreturnで返すことができる。
練習問題
GASで次のスクリプトを完成させ、実行した際のログを確認してください。
- 変数greetingを”Hello”で初期化し、ログに出力する。
- 変数lengthに文字列
"コンニチハ"
の長さを代入し、ログに出力する。 - 数値型の変数を作り、それを関数に受け渡して2倍にする関数を作る。
解答・解説
まずはスクリプトを見てみよう:
function main() {
// 1. 変数の初期化と表示
let greeting = "Hello";
Logger.log(greeting);
// 2. 文字列の長さを取得し、表示
let length = "コンニチハ".length;
Logger.log(length);
// 3. 関数への変数受け渡し
function doubleValue(number) {
return number * 2;
}
let number = 5;
let doubled = doubleValue(number);
Logger.log(doubled);
}
- まず、
greeting
変数をHello
で初期化し、Logger.log()を使って表示。 - 次に、
"コンニチハ"
のlengthプロパティを取得し、ログ出力。 - doubleValue関数を作成し、数値を2倍にして返す。また、変数
number
を作り関数に渡す。