見出し画像

分割代入・エラーの探り方【プログラミング学習記】

分割代入について

分割代入とは、オブジェクトのプロパティ名と、その値を代入する変数名が同じことをいいます。

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の保存型式がおかしい可能性があるようです。

可能性を探っていくことにします。




 

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