##日付に関して
1日前の考え方
24時間x60分x60秒=864,000秒戻す
new Dateはミリ秒で考えるのでx1000が必要
というかmonmentライブラリを使ったほうが
圧倒的に簡単
var time = Moment.moment();//時間取得
var today = time.format('YYYY-MM-DD');//本日
var yesterday = time.add('days', -1).format('YYYY-MM-DD');//昨日
var tomorrow = time.add('days', +1).format('YYYY-MM-DD');//明日
##保存方法に関して
コンテナバインドはスクリプトが迷子になる。。。
基本的にスタンドアロンで作ることをオススメ。
##ES6非対応
宣言でconstは使えるけど、letは使えない
ESとはECMAScript(エクマスクリプト)のこと
ECMAScript(エクマスクリプト)は、JavaScriptの標準であり、Ecma Internationalのもとで標準化手続きなどが行われている。
Ecma Internationalのほか、ISO/IEC JTC 1からもISO/IEC 16262として標準化されている。日本もJIS X 3060としてJIS化している。
基本的に代入や再宣言が必要なければ、
constで固定でいいと思うけど、forのイテレーションみたいな
場合は最大入可能なvarにする。
巻き上げは起きない。
var のスコープは 関数
const のスコープは ブロック
##実行速度問題
APIはなるべく呼び出さない。
ループに入れない。
下の実行時間取得スクリプトを使って、
実行時間に気を使う。
//実行時間ログ出力セット
var start_ms = Moment.moment();//時間計測開始
/*~~~~~~
スクリプト記述
~~~~~~*/
var end_ms = Moment.moment();//時間計測終了
var span_sec = (end - start)/1000;
Logger.log("処理時間:" + span_sec + " 秒" );
##記述ルール
-マジックナンバーは使わない
-定数は大文字でスネークケース
TAX_RATEなど基本不変のもの
-宣言する種類を記載する
単位があるものはアンダーバーでつける
str:String //文字列
date:Date //日付
rng:Range //データ範囲
sh:sheet //シート
ss : spreadsheets //スプレッドシート本体
sh : spreadsheet //シート