どうも。つじけ(tsujikenzo)です。このシリーズでは、2021年2月から始まりました「ノンプロ研GAS初級講座8期」について、講座内では伝えきれなかったことなどを、全8回でお届けします。
前回のふりかえり
前回は「事前課題」として、「コミュニケーションを取ろう」「8つの約束」などをお伝えしました。

今回は「Day1 はじめてのGAS、変数、演算、データ型」です。
はじめてのGAS
起動時のエラー
スクリプトエディタを立ち上げたにも関わらず、起動しない現象に遭遇します。

このようなときは、リロードしても何しても解決しません。解決策として、別のウインドウ(タブ)を用意して、スクリプトエディタのURLを貼り付けると起動します。

起動しました。一度作成したスクリプトエディタは起動しますので、新規作成した場合などに対応が必要かもしれません。

リテラル
「リテラル」はDay1でもっとも難しいカタカナ語だと、個人的に思います。
- コンテナバインドスクリプト
- スタンドアロンスクリプト
- ステートメント
- ブロック
- ログ
- ファンクション
- リテラル
- コンテンツアシスト
講座ではこのように説明させていただきました。リテラルとは「表記の仕方、またはその値そのもの」のことを指します。

たとえば「では数値型の2021をリテラルに書いて、変数に代入してください」という場合、
const year = 2021;
と記述します。
「3つの要素’つじけ’、40、’北海道’を配列としてリテラルに書いて、変数に代入してください」という場合、
const person = [‘つじけ’, 40, ’北海道’];
と記述します。
しかし、ほとんどの場合「リテラル」という言葉は省略されますので、目に触れる、耳に触れる機会がありません。
「では数値型の2021を変数に代入してください」「では3つの要素’つじけ’、40、’北海道’を配列として変数に代入してください」
このような言い方をすることが多いと思いますので、「リテラル」というキーワードが隠れていることを察していただけると幸いです。
後ほどデータ型のお話をしますが、「リテラルとはGASがデータ型を認識するための記述ルール」です。
コメントイン・アウト
コード内にメモを記述したいときや、一時的に処理されないようにするために、「コメントアウト」することができます。(その逆はコメントイン)
スラッシュ(/)によるコメントアウト
ステートメントの先頭にスラッシュを2つ//書いてもいいですし、ステートメントのどこかをクリックしてカーソルをおいて、Ctrl+/でも可能です。

コメントアウトされました。

複数行を選択して、コメントアウトすることも可能です。


スラッシュ+アスタリスク(/* */)によるコメントアウト
もう一つは/* */で先頭と末尾を囲む方法です。コード内に直接記述して構いません。

ショートカットキーを使う場合は、全ての行を選択してから、

「Shift + Alt + A」です。

コメントインするときは、行が含まれるようにドラッグで選択し、「Shift + Alt + A」でコメントインすることができます。(全ての文字を選択する必要はありません)


スラッシュ+アスタリスクのコメントアウトは、関数の先頭につける「ドキュメンテーションコメント」で使われます。覚えておきましょう。
スクリプトの権限
プロジェクトファイルは「オーナー・編集者・閲覧者」の3種に権限を設定することができます。
「エンタープライズ」アカウントの場合、スクリプトエディタの右上から設定することができます。しかし、無料の「Gmail.com」アカウントをお使いの場合はアイコンがない場合があります。(動作が不安定です。)

無料Gmail.comアカウントの方は、Apps Scriptダッシュボードから設定可能です。権限を編集したいプロジェクトファイルの[三点リーダー]をクリックしします。

リストから[共有]をクリックします。

[リンクを知ってる全員に変更]をクリックします。

[閲覧者]をクリックして、[編集者]に変更することができます。

変数・定数
JavaScriptや、旧式のGASではvarを使ってコードを書くこともあります。しかし、みなさんはvarを使わなければいけないような特殊な状況は、あまりないと思われます。(あったらごめんなさい💦)
なので、調べ物をしているときに、varを見かけたら「これはJavaScriptのコードだろうな」「これは旧式のGASのコードだな」と思うようにしましょう。

- 再代入をするつもり→let
- 再代入はしないつもり→const
でOKです。再代入するかどうか分からない時はconstで書き始めて問題ありません。私もそうしてます。
データ型と演算
プログラミング上の値に対してできることは主に4つです。
- 書く(リテラル)
- 呼び出す(出力)
- 書き換える(代入)
- 書き足す(演算)
そして、値は何かしらの型が定義されていることが多いです。講座ではJavaScript(GASはJavaScriptで構成されています)の代表的な型の紹介(他にも沢山あります)をしましたが、これは大きく2つに分けることができます。特に上の3つ(数値型、文字列型、真偽型)を合わせてプリミティブ型と呼びます。

(英語: primitive): 原始的という意味ですが、「○○がこういう動きをするのはプリミティブ型だから」とか「○○する時はこういうルールで書こうね。なぜなら△△はプリミティブ型だよね」という、理解の補足に非常に役に立ちますので、「数値型、文字列型、真偽型の3つはプリミティブ型」というのを覚えておいてください。
まとめ
以上で、「はじめてのGAS、変数、演算、データ型」についてふりかえりでした。初見のカタカナ語がおおく、戸惑ったと思いますが、ほとんどのことはこれからGASを書いていれば自然と馴染むものばかりです。「反復練習」がものをいうパートだったかもしれません。
「1日1回スクリプトエディタを開く。」「毎日30分はGASを触る。」などの習慣が大事になっていきますので、頑張りましょう。
次回は「制御構文」です。お楽しみに。
このシリーズの目次
- [ノンプロ研]GAS初級講座8期 事前課題
- [ノンプロ研]GAS初級講座8期DAY1補講 はじめてのGAS、変数、演算、データ型
- [ノンプロ研]GAS初級講座8期DAY2補講 制御構文
- [ノンプロ研]GAS初級講座8期DAY3補講 関数・配列
- [ノンプロ研]GAS初級講座8期DAY4補講 オブジェクト・GASの世界
- [ノンプロ研]GAS初級講座8期DAY5補講 スプレッドシートの操作 基本編
- [ノンプロ研]GAS初級講座8期DAY6補講 スプレッドシートの操作・実践編
- [GAS]スプレッドシートのセル考察 ~A1Notationってなに~ [前編]
- [GAS]スプレッドシートのセル考察 ~getRange()メソッドとセルアドレスリテラル~ [後編]