ここ最近GASのスクリプトエラー通知が増えた気はしていたんです。
変化点がわからず、追跡していたのですが理由がやっとわかりました。
GAS最近の変化
Google Apps Script(GAS)ですが最近、V8ランタイムが利用できるようになりました。
上記画像でいうと「有効にする」をクリックするとV8ラインタイムモードになります。
最大のメリットは「古いjavascriptライクな構文」から「ECMAScript構文」に変わったことですね。
喜び勇んで変更すると
おぉ、デバッグの変数表示も大きく変わってます。
ログの取り扱いや局所変数(let)も使えるようになってる!
と、ここで不明のエラーが発生。
発生箇所はnullの代入です。
V8ランタイムってnulを扱えない?
GASのリファレンスを探しても、そんな文言は見つけられませんでした。
https://developers.google.com/apps-script/guides/v8-runtime
getProperty(key)は「key指定プロパティが存在しないときnullを返却」するのですが、毎回ここでエラーが発生。なんだこりゃ。
V8ランタイムはお蔵入りとなりました
ほかのプロジェクトでもnullを取り扱っているのですが、全滅ですね。V8ランタイムの仕様なのでしょうか。V8のままnullエラーを回避する方法があったら教えて欲しいです。
動かないとまずいので、当面はランタイムを「STABLE」に戻して様子見です。