Google Apps Script を V8 ランタイムで実行する方法

概要

先日 (2020/02/05) に Google Apps Script が V8 Runtime で実行できるようになりました。 Google Apps Script はこれまで JavaScript 1.6 のバージョンがベースとなっていましたが、アロー関数や const, let が利用できるなど、モダンな書き方ができるようになりました。

詳しくは各種ドキュメントをリンクしておきます。

V8 ランタイムで実行する

公式ドキュメントにも V8 ランタイムでの実行方法 は書かれていますが、手っ取り早く始めたい方のために、ここで説明しておきます。

clasp を使っている方もいると思いますので、スクリプトエディタと clasp 両方での方法を記述しておきます。

スクリプトエディタで始める

まず https://script.google.com/home から 新しいプロジェクト を選択します。既存のプロジェクトを V8 対応したい場合は該当プロジェクトを選択して開きます。

新しいプロジェクトを選択

現状、以下 3 つほど方法がありますので全て載せておきます。

1. 起動時のトーストで "有効にする" を選択

プロジェクトを開いた際に以下のトーストが表示されたら、そちらで 有効にする を選択すれば完了です。

Enable new Apps Script runtime powered by Chrome V8 for this project.

スクリーンショット 2020-02-09 17.55.07.png

2. メニューから有効化

スクリーンショット 2020-02-09 17.55.22.png

スクリプトエディタのメニューから 実行 > Chrome V8 を搭載した新しい Apps Script ランタイムを有効にする を選択すれば OK です。

もとのランタイムに戻したかったら、同様に 実行 > Chrome V8 を搭載した新しい Apps Script ランタイムを無効にする を選択すれば OK です。

3. マニュフェストファイルで設定する

スクリーンショット 2020-02-09 17.56.05.png

スクリプトエディタのメニューから 表示 > マニュフェストファイルを表示 を選択します。すると、左側のファイル一覧に appscript.json というマニュフェストファイルが追加されるので選択して開きます。

runtimeVersion というフィールドに "V8" を指定すれば OK です。

スクリーンショット 2020-02-09 17.56.10.png

もとのランタイムに戻したかったら、フィールドごと項目を削除するか、 "DEPRECATED_ES5" という値を指定すれば良さそうです。(公式ドキュメント参照: Manifest structure

3 つ方法を紹介しましたが、結局全ての方法でマニュフェストファイルが更新されているだけなので、困ったらマニュフェストファイルを確認すれば大丈夫です。

clasp で始める

clasp で始める際もマニュフェストファイルを更新すれば大丈夫です。 clasp create コマンドでプロジェクトを作成すると、 appscript.json が生成されるので、それに runtimeVersion というフィールドに "V8" を指定すれば OK です。

$ clasp create
$ cat appscript.json
{
  "timeZone": "America/New_York",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER"
}

以下のように編集します。

appscript.json
{
  "timeZone": "Asia/Tokyo",
  "dependencies": {
  },
  "exceptionLogging": "STACKDRIVER",
  "runtimeVersion": "V8"
}

まとめ

以上 V8 ランタイムで Google Apps Script を実行する方法を紹介しました。すごく快適に JavaScript が書けるようになっているので是非試してみてください。

関連記事

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
ユーザーは見つかりませんでした