(2020/03/10追記しました)
2020年2月、GASがV8エンジンに対応しました。
以前のエンジンでつくられたGASを開くと画面上部にメッセージが出ます。
ここで『有効にする』をクリックすると新しいV8ランタイムを使用できます。
…が、しかし!
これまでGASで使えていたコードが一部使えなくなるので注意が必要です!
そのうちの一つが for each (variable in object) の構文。
for each(var address in addresses){
...
}
これまではこんな風に記載していたんですがV8ランタイムを有効にするとエラーになります。
修正の方法
このエラーを修正するには…
開始行を addresses.forEach(function(address) { にする。
終了行を }); にする。
addresses.forEach(function(address) {
...
});
こんな感じにするとV8ランタイムを有効にしてもいままでどおり動きました。
for eachの中でcontinueを使用している場合
for eachのループの中で、continueを使用している場合は、V8ランタイムでは『 Error: Line xx: Illegal continue statement 』と表示されてエラーになります。
この場合は、continue; を return; にしてあげることで解決します。
for each以外にも非互換な表現が
他にもいくつか非互換な表現がありますので、気になる方は以下のリンクもご参照ください。
祝!Google Apps Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった
https://tonari-it.com/gas-v8-runtime/
GASがV8エンジンに対応したのでドキュメント読んだ
https://qiita.com/UtaMori/items/ce83672cecca20964899
コメント