分割代入・エラーの探り方【プログラミング学習記】
分割代入について
分割代入とは、オブジェクトのプロパティ名と、その値を代入する変数名が同じことをいいます。
const{ name } = building;
のように書きます。
右辺は、 building.nameが本来の形でした。
buildingオブジェクトのnameプロパティという意味です。
このnameプロパティの値と変数名nameが同じであるため、右辺を省略することができます。
エラーの辿り方。エラーメッセージを辿り解決する方法
const user = dbdata.users[message.uid];
uidというプロパティを読みとろうしたが、エラーが発生しました。
エラーは上記のコードに起因するとあります。
ここから考えられることは、uidのオブジェクトに当たるmessageを読み取ろうとしたが、エラーが発生したということです。
従って、messageについて、中身が何が代入されているのか探してみます。
すると、messageを引数として渡し、関数createFavoriteMessageDivを定義しているコードが見つかりました。
今度は、関数createFavoriteMessageDivを呼び出している場所を辿ります。
関数createFavoriteMessageDivを呼び出す場所でもmessageは引数として渡されているのでしょうか。
見つかったのが、createFavoriteMessageDiv関数にmessageを引数として渡して呼び出したアロー関数を、addFavoriteMessage関数として定義しているコードです。
いよいよ、addFavoriteMessage関数を呼び出すコードに辿り着きました。
addFavariteMessagae関数は、引数として、favorite.messageを渡しています。
favoriteという変数には、何が代入されているか確認し、原因を探ります。
確認すると、messageの保存型式がおかしい可能性があるようです。
可能性を探っていくことにします。
この記事が気に入ったらサポートをしてみませんか?