date-fnsのparseで「utils.mjs:20 Uncaught (in promise) TypeError: dateString.match is not a function」
今回はJSのdate-fnsのparseを使ったときに下記のエラーが起きたときの原因についてご紹介していきます。
1 2 3 4 5 6 7 8 9 10 11 |
utils.mjs:20 Uncaught (in promise) TypeError: dateString.match is not a function at parseNumericPattern (utils.mjs:20:34) at parseNDigits (utils.mjs:75:14) at YearParser.parse (YearParser.mjs:33:25) at YearParser.run (Parser.mjs:5:25) at parse (parse.mjs:430:34) at testMethod (test.vue:96:24) at callWithErrorHandling (runtime-core.esm-bundler.js:199:19) at callWithAsyncErrorHandling (runtime-core.esm-bundler.js:206:17) at emit (runtime-core.esm-bundler.js:6247:5) at runtime-core.esm-bundler.js:7957:45 |
date-fnsのバージョンは3.6.0です。
date-fnsのparseで「utils.mjs:20 Uncaught (in promise) TypeError: dateString.match is not a function」
parse(testDay, 'yyyy-MM-dd', new Date())
のようにtestDayについてparseを行う際に表題のエラーが発生しました。
結論から言うと、私の頭がバグっていて、本来ならばtestDayがString型であるときにparseを行ってString型からDate型に変換しますが、私の場合testDayが既にDate型であるのにDate型に変換しようとしているのが原因でした。
よってこの処理はいらないです。
余談となりますが、Date型からString型に変換する場合はdate-fnsでは
format(testDay, 'yyyy-MM-dd')
のようになると思います。
終わりに
今回はJSのdate-fnsのparseを使ったときに冒頭のエラーが起きたときの原因についてご紹介いたしました。
ディスカッション
コメント一覧
まだ、コメントがありません