はじめに
タイトルが全てです.
JavaScriptを使った開発中,FirebaseのFireStoreから受け取った値をsessionStorageに保存し,再利用するコードを書きました.
その際,エラーが出てかなり苦戦したので,備忘録を兼ねて記事を書きました.
出たエラー
コンソールには以下のようなエラー文が表示されました.
.toDate is not a function.
原因
sessionStorageに入れるためにTimeStampクラスのものをJSON形式にすると,出てきたものはただのObjectになるみたい.
toDate()メソッドはTimeStamp型にしか使えないので,エラーが出ていたみたいです.
対処法
原因が分かれば,対処法は色々あると思います.
自分の場合はsessionStorageに入れる前にtoDate()メソッドを用いて,JSのdate型に直してからsessionStorageに入れました.
終わりに
JavaScriptは変数の型を指定しないのでこういったエラーがよく起こりそう.気を付けねば……
とりあえず,
not a function
って出てきたときは,変数の型をチェックするのがよさそう.