#1.GAS ≠ Javascript
GASはJSがベースですが、世間で一般に言われるJSとは同一ではありません。
GASで利用できるJavascriptは基本構文、制御構文、演算子、関数、組み込みオブジェクトなどの基本部分(コアJavascript)のみが対象です。
GASはそのコアなものに加えてGoogle Appsを操作するための数々のサービスによって構成されています。
ちなみにGASがベースとしているJSは、最新のECMAScriptではなく、Javascript1.6および一部の1.7と1.8の機能となっています。なので、新しいバージョンで追加された機能がGASで利用できないということはあります。
#2.ハード制限と容量制限
実行時間やデータサイズなどのハード制限と、
1日あたりの実行回数の容量制限(クォータ制限)が設けられています。
これらの制限は使用しているアカウントとその登録プラン、アーリーアクセスプログラムに参加しているかによって異なります。
制限を越えるとエラーになり、処理は終了します。
特に注意すべきはスクリプトの実行時間。
#3.GASのスクリプトには2種類ある!
スタンドアロンスクリプト | コンテナバインドスクリプト | |
---|---|---|
スクリプトの保存 | Googleドライブ単体のスクリプトプロジェクトファイルとして保存 | スプシュ、ドキュメント、フォームなどに紐づけて保存 |
スクリプトの作成 | Googleドライブから保存 | スプシュ、ドキュメント、フォームなどのメニューから作成 |
スクリプトのオープン | Googleドライブからプロジェクトファイルを開く | スプシュ、ドキュメント、フォームなどのメニューから開く |
プロジェクトの保存数 | 一つのスクリプトプロジェクトファイルに対し、一つのプロジェクト | 親ファイルに対して複数のプロジェクトを保存可能 |
スプレッドシートのカスタム関数 | 作成不可 | 作成可能 |
メソッド | ー | 紐づいたファイルに対するいくつかのメソッドが利用可能 |
###【コンテナバインドスクリプトのメリット】
・スプシュのカスタム関数の作成ができる
・紐づいたファイルを参照するgetActiveSpreadsheet,getActiveDocument、getUiなどのいくつかの便利なメソッドを使用可能。
###【コンテナバインドスクリプトのデメリット】
・スクリプト自体はGoogleドライブ上に表示されないので保存場所がわかりにくい。
#4.GASでは大文字と小文字は違う文字として認識される
タイトル通り!気をつけましょう!JavaScriptでは大文字と小文字は別の文字として認識されます。
#5.コンテンツアシストと単語補完
GASの入力支援→スクリプトエディタを開き空白行で「Ctrl」+「Space」キーを入力すると、リストが出てきます。
これはグローバルオブジェクトと呼ばれ、スクリプトのどこからでも呼び出すことが可能です。打ち間違えなども防止できますね。
#6.コメントアウト
一行をコメントアウトしたい時
//コメント
複数行またいでコメントアウトしたい時
/*
複数行にまたがる
コメントを入力する
*/
ショートカットキーは、Macなら「Command」+「/」です。
#7.Javascriptの予約語
変数、定数、また関数などにつける名前を識別子と呼びます。JavaScriptでは識別子の名前を比較的自由に命名することが可能ですが以下の予約語を使用することはできません。これはJavaScriptであらかじめ定められた特別な意味を持つ単語です。
・break
・case
・catch
・continue
・debugger
・default
・delete
・do
・else
・finally
・for
・function
・if
・in
・instanceof
・new
・return
・switch
・this
・throw
・try
・typeof
・var
・void
・while
・with