やっとか!って気持ちも強いですが、GASがECMAS対応しました。全てではないみたいなんですけど、やっと旧来のJavascriptから少し現代的なJavascriptに移行できそうです。
てなわけで早速対応させて遊んでいきたいと思います。
GAS runtimeVersion V8での変更点
変更点は色々あるみたいです。
サポートされた構文List
- let
- const(機能変更かな)
- class
- アロー関数
- テンプレート文字列と複数行文字列
- デフォルト引数 etc…
まぁ詳細は、本体ドキュメント確認してみてください。

v8への変更方法
公式ドキュメントだと、スクリプトエディタのメニュー[実行] > [Enable new Apps Script runtime powered by V8]で切り替えられるらしいです。ただ、この記事書いた日時点(2020/02/07)では残念ながら出てこない。。
【2020年2月13日現在】無事切り替えメニューが表示されるようになりました。追記参照

といことで、もう一個提示されていた方法、[表示] > [マニフェストファイルを表示]から編集、でいきます。[マニフェストファイル]のruntimeVersionに”V8″を指定することで、切り替えが可能でした。
マニュフェストファイルの設定
まぁマニュフェストファイルと行ってますが、appscriptの設定用jsonファイルのことを指しているだけです。
マニュフェストファイルの開き方とV8の設定
Step1: [表示] > [マニフェストファイルを表示]をクリック

Step2: jsonファイルを開いたら、”runtimeVersion”:”V8″を挿入

Step3: 保存
早速アロー関数でも試してみる
アロー関数でも試してみようということで早速シンプルな三角形の面積計算。

アロー関数とletを利用してみました。
実行してログを確認すると、。。。あれっちょっとロギングの速度落ちてるかな。。

ちょと待ったけど無事実行できました。パチパチパチw

まとめ
ECMAScript対応してくれたのは非常に嬉しいですね。letとconstちゃんと使い分けられるようになるはずですし、日頃使うJSとのギャップに悩まされることも少しずつ減るでしょう(ES5かES6かは把握してないので、全てカバーしてるかは未確認なので)
あと、少しロギングの表示が遅くなっている気もするので、App Scriptダッシュボードでログ確認するようにするといいかもですね。
追記(2020年2月13日現在)
無事スクリプトエディタのメニュー、[実行] > [Chrome V8を搭載した新しいApp Scriptランタイムを有効にする]、が表示され始めました。
クリック前後でのappscript.jsonファイルの動作を含めて簡易的に説明します。
V8を無効化している状態→有効化をクリック
有効にするをクリックすると、マニュフェストファイルの設定で説明した通り、”runtimeVersion”:”V8″という設定が自動的に反映されるようになっています。


V8を有効化している状態→無効化をクリック
逆に無効化をクリックすると”runtimeVersion”:”DEPRECATED_ES5″という設定に切り替わります。
