earthpg:GAS専門のプログラミングスクール

GASの変数完全ガイド:宣言からスコープ、型、表示まで徹底解説!

GASで変数ってどうやって使うんだろ?宣言とかスコープとかいろいろあって…
猫男
猫男
catman
catman
よし、catmanが「GASの変数」についてわかりやすく教えてやろう!

GASの変数宣言と初期化

GAS(Google Apps Script)における変数宣言初期化のポイントをつかんでおこう。

変数の宣言方法

var name;
let age;
const birthYear = 2000;
  • varletconstを使って変数を宣言する。
  • letはブロックスコープ、varは関数スコープ。
  • constは変更不可の定数を宣言。

変数の初期化

let message = "Hello World";
var count = 10;
  • 変数を宣言すると同時に初期化すると便利。
  • 初期化時に値を代入しないとundefinedになる。

GAS変数の型

GASの変数は色々なに対応している。活用方法を紹介する。

基本の型種類

let number = 42; // 数値
let text = "catman"; // 文字列
let isActive = true; // 真偽値
  • よく使う型は数値文字列真偽値
  • 他にもオブジェクト配列がある。

変数の表示

Logger.log(name);
Logger.log("年齢は" + age + "です。");
  • GASでLogger.log()を使うと変数の値を確認できる。
  • 変数の中身をプロジェクトの実行ログに出力する。
なるほどぉ、スコープとか型も大事なんだね。[単なる変数]って思ってたけど…
猫男
猫男
catman
catman
その通りさ。変数のスコープもよく理解しておくとプログラムの意図しない動作を防げるぞ。

GAS変数のスコープと受け渡し

変数のスコープは、変数が有効な範囲を指す。変数の受け渡しについても理解しておこう。

スコープの種類

function testScope() {
  var local = "local variable"; // 関数スコープ
  if (true) {
    let blockScope = "block scoped"; // ブロックスコープ
  }
  // console.log(blockScope); // Error: blockScope is not defined
}
  • 関数スコープvarで宣言された変数が関数の中だけ有効。
  • ブロックスコープletconstで宣言された変数は、そのブロック内のみで有効。

変数の受け渡し

function doubleNumber(number) {
  return number * 2;
}

let result = doubleNumber(10);
Logger.log(result); // 20
  • 引数を使って関数に変数を受け渡しできる。
  • 関数は結果をreturnで返すことができる。

練習問題

GASで次のスクリプトを完成させ、実行した際のログを確認してください。

  1. 変数greetingを”Hello”で初期化し、ログに出力する。
  2. 変数lengthに文字列"コンニチハ"の長さを代入し、ログに出力する。
  3. 数値型の変数を作り、それを関数に受け渡して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を作り関数に渡す。