見出し画像

平日Slackに流すBotをGASでやっていたらtargetDate.getDay is not defined 言われた話

GASで平日のみ動作するGASを運用していて、Slackワークスペースを移動するためにGASを更新しようとしたら動かなくなったので備忘録です。


ワークスペースの移動自体はweb hook url を変更するだけなのでソースそんなにいじってないはずでは!?と思っていたら

エラーコードは以下。

targetDate.getDay is not defined

targetDate.getDay を使っている部分を見てみます。

function isWorkday (targetDate) {

// targetDate の曜日を確認、週末は休む (false)
 var rest_or_work = ["REST","mon","tue","wed","thu","fri","REST"]; // 日〜土
 if ( rest_or_work [targetDate.getDay ()] == "REST" ) {
   return false;
 }; 

ちょっと悩みつつも targetDate をDate型に変更すると直ったのでそういうことらしいです。。。

function isWorkday (targetDate) {

// targetDate の曜日を確認、週末は休む (false)
 var rest_or_work = ["REST","mon","tue","wed","thu","fri","REST"]; // 日〜土

// 追加↓↓
 var targetDate = new Date(targetDate)
 if ( rest_or_work [targetDate.getDay ()] == "REST" ) {
   return false;
 }; 


スクリプト参考元↓

おしまい₍ ᐢ. ̫ .ᐢ ₎

この記事が気に入ったらサポートをしてみませんか?