# 【GAS】「分かったような、分からないような」クラス・オブジェクト・メソッドをスプシで攻略する
こんにちは!現在Ms.Engineerというチーム開発ができるブートキャンプを卒業し、業務効率化アプリ開発を目指して学習中の身ですが、Google Apps Script(GAS)を触る中で、避けては通れない**「クラス・オブジェクト・プロパティ・メソッド」**の壁にぶつかりました。
「概念はわかるけど、実際のコードと結びつかない…」という状態から、自分なりにスッキリ整理できたので、同じ悩みを持つ駆け出しの方に向けてアウトプットします!
1. 概念の整理:たい焼きで例えてみる
一番しっくりきたのが、この「設計図」と「実体」の関係です。
- クラス(設計図): 「たい焼きの金型」。これ自体は食べられませんが、形やルールを決めるものです。
- オブジェクト(実体): 金型から作られた「本物のたい焼き」。
- プロパティ(属性): たい焼きの「中身(あんこ・チョコ)」や「焼き色」。データのことです。
- メソッド(振る舞い): 「泳ぐ」や「冷める」。そのモノができる動作のことです。
2. GASのコードで「答え合わせ」
スプレッドシートを操作するおなじみのコードで、どれがどれかを見てみます。
function myGasTask() {
// SpreadsheetAppは「道具箱(クラスの集まり)」のようなもの
// getActiveSpreadsheet() メソッドを使って「今開いているスプシ(オブジェクト)」を取り出す
const ss = SpreadsheetApp.getActiveSpreadsheet();
// オブジェクトに対してメソッド(動作)を命令する
const name = ss.getName(); // 「名前を取得せよ」というメソッド
console.log(name);
}
-
クラス: SpreadsheetApp や Range(設計図)
-
オブジェクト: 変数 ss に入った「今開いているこのシートそのもの」(実体)
-
メソッド: .getName() や .setValue()(カッコ () がつく動作)
-
プロパティ: セルの背景色やフォントサイズなどの「状態・データ」
3. 見分け方のコツ:ドット . の後ろに注目!
コードを読んでいるときに迷ったら、ドットの後に カッコ () があるかどうかで見分けるのが一番簡単だと気づきました。
myData.name → カッコがないので プロパティ(中身を覗いている)
myData.greet() → カッコがあるので メソッド(動かしている)
※GASのリファレンスを読むときも、この違いを意識するだけで理解スピードが爆上がりします。
4. なぜこれを理解すると嬉しいのか?
クラスやオブジェクトが分かると、公式ドキュメント(リファレンス)の読み方が変わります。
これまでは「おまじない」だと思ってコピペしていたコードが、 「あ、このメソッドを使いたいから、まずこのクラスからオブジェクトを取り出さなきゃいけないんだな」 という手順として理解できるようになります。これが「エンジニアの視点」への第一歩だと感じました。
おわりに
「クラス」とか「オブジェクト」って、言葉が強そうで身構えちゃいますが、自分の身近なツール(スプシ)に置き換えると、意外と仲良くなれる概念でした。
今後は、この基礎を武器に、OpenAI APIやGemini APIとスプレッドシートを連携させる「実戦的な自動化」に挑戦していこうと思います!
#GAS #GoogleAppsScript #JavaScript #駆け出しエンジニア
Discussion