その他

GASでnullが扱えなくなった?

ここ最近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」に戻して様子見です。

ABOUT ME
Nozomu.Kon
トータルソフトウェアコーディネーターがあなたのお困りを即時に解決!