0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

🎓 GAS:オブジェクト(Object)を「日本語アルゴリズム → コード」で身につける

Posted at

GAS(Google Apps Script)を始めたての学習者が、
条件分岐 → 反復 → 配列 まで理解できたら、次の壁がここです。

  • オブジェクト {} の考え方
  • ドット記法 student.name
  • 配列との違い
  • 「現実のデータ」をコードにどう表すか
  • []{} が混乱する

この記事では、

「現実世界の情報 ≒ オブジェクト」
として、イメージで理解できるようにしつつ、

  • まず日本語だけ
  • 最後に GAS コードに翻訳

という流れで丁寧に紹介します。


## 1. オブジェクトは「情報のセット」

📦 現実のデータをそのまま表せる「箱」

配列は並びですが、
オブジェクトは「名前のついた引き出し」 です。

例:生徒の情報

const student = {
  name: "太郎",
  age: 20,
  score: 85
};
  • name という引き出し → "太郎"
  • age20
  • score85

🧠 ドット記法で読む

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の学習者はいよいよ 「現実のデータ構造」を扱えるレベル に到達します。


0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?