GAS(Google Apps Script)を始めたての学習者が、
条件分岐 → 反復 → 配列 まで理解できたら、次の壁がここです。
- オブジェクト
{}の考え方 - ドット記法
student.name - 配列との違い
- 「現実のデータ」をコードにどう表すか
-
[]と{}が混乱する
この記事では、
「現実世界の情報 ≒ オブジェクト」
として、イメージで理解できるようにしつつ、
- まず日本語だけ
- 最後に GAS コードに翻訳
という流れで丁寧に紹介します。
## 1. オブジェクトは「情報のセット」
📦 現実のデータをそのまま表せる「箱」
配列は並びですが、
オブジェクトは「名前のついた引き出し」 です。
例:生徒の情報
const student = {
name: "太郎",
age: 20,
score: 85
};
-
nameという引き出し →"太郎" -
age→20 -
score→85
🧠 ドット記法で読む
student.name // "太郎"
student.age // 20
student.score // 85
## 2. 配列との違い
| 種類 | 何を表す? | 記法 | 使い方 |
|---|---|---|---|
| 配列 | 同じ種類のデータを並べる | [] |
1週間の歩数、買い物リスト |
| オブジェクト | 1つのものの属性をまとめる | {} |
1人の生徒、1冊の本、1つの商品 |
🎯 例で比較すると理解が速い
配列(並び)
["卵", "牛乳", "パン"]
オブジェクト(情報のセット)
{ name: "卵", price: 200, stock: 10 }
## 3. コメントだけで書く「日本語アルゴリズム」
ここでは、コードを書かずに 日本語だけ で説明します。
このコメントをヒントに、学習者自身に GAS コードを書いてもらう
という使い方ができます。
🎓 サンプル①:生徒データを表示(コメント版)
function showStudent()
// ① 生徒の情報(名前・年齢・点数)をオブジェクトで用意する
// ② 名前・年齢・点数をそれぞれ Logger.log で表示する
🍔 サンプル②:商品情報から在庫メッセージ(コメント版)
function checkStock()
// ① 商品の名前・値段・在庫数のオブジェクトを作る
// ② 在庫が 1 以上なら「在庫あり」、0 なら「在庫切れ」と表示する
📚 サンプル③:本の情報まとめ(コメント版)
function showBook()
// ① 本のタイトル・著者名・ページ数のオブジェクトを用意する
// ② 「タイトル:〜」「著者:〜」「ページ数:〜」の形式で表示する
🚗 サンプル④:車の燃費チェック(コメント版)
function fuelCheck()
// ① 車の情報(車種・燃費・ガソリン残量)をオブジェクトで準備する
// ② 燃費 × ガソリン残量 で走れる距離を計算する
// ③ 走れる距離が 100km 以上なら「遠出できる」、未満なら「給油しよう」と表示する
🍱 サンプル⑤:今日のランチセット(コメント版)
function todayLunch()
// ① ランチセット(メイン・飲み物・値段)をオブジェクトで用意する
// ② 「今日のランチは ○○(値段:○○円)」の形式で表示する
## 4. 回答コード(日本語の翻訳結果)
ここからは、上記コメントをすべて
GASコードに翻訳した回答例 です。
🎓 サンプル①:生徒データを表示
function showStudent() {
const student = {
name: "太郎",
age: 20,
score: 85
};
Logger.log("名前:" + student.name);
Logger.log("年齢:" + student.age + "歳");
Logger.log("点数:" + student.score + "点");
}
🍔 サンプル②:商品情報から在庫メッセージ
function checkStock() {
const item = {
name: "ハンバーガー",
price: 350,
stock: 0
};
if (item.stock > 0) {
Logger.log("🍔 在庫あり!");
} else {
Logger.log("❌ 在庫切れ…");
}
}
📚 サンプル③:本の情報まとめ
function showBook() {
const book = {
title: "GAS入門",
author: "山田太郎",
pages: 280
};
Logger.log("タイトル:" + book.title);
Logger.log("著者:" + book.author);
Logger.log("ページ数:" + book.pages + "ページ");
}
🚗 サンプル④:車の燃費チェック
function fuelCheck() {
const car = {
model: "プリウス",
mileage: 22, // km/L
fuel: 5 // L
};
const distance = car.mileage * car.fuel;
Logger.log("走れる距離:" + distance + " km");
if (distance >= 100) {
Logger.log("🚗 遠出できます!");
} else {
Logger.log("⛽ 給油してください!");
}
}
🍱 サンプル⑤:今日のランチセット
function todayLunch() {
const lunch = {
main: "唐揚げ定食",
drink: "ウーロン茶",
price: 850
};
Logger.log("今日のランチは " + lunch.main + "(" + lunch.price + "円)です");
Logger.log("飲み物:" + lunch.drink);
}
## 5. まとめ
- オブジェクトは、「現実の情報をひとまとめにしたセット」
- 配列が「並び」、オブジェクトが「属性セット」
-
{}と[]の役割が違うことが理解できると、一気にコードが読みやすくなる - GASの自動化(スプレッドシート操作・メール処理など)で必須の考え方
配列 → オブジェクトまで進むと、
GASの学習者はいよいよ 「現実のデータ構造」を扱えるレベル に到達します。