QED

私はこの世界について驚くべき真理を発見した。だが、それを記すにはこのブログは狭すぎる。

エラー処理「Cannot read property '0' of undefined」

外部APIを使って開発をしていると、

Uncaught TypeError: Cannot read property '0' of undefined 

というエラーを食らうことがあります。

「0なんていうプロパティありませんよ」と言っているわけです。

 

というのも、特に eBay のように出品者に情報入力がゆだねられている場合については、プロパティがすべてそろっていないこともあるのですね。

 

で、結論からいえば次のようにすることで、特定のプロパティを持っている場合にのみ参照することができました。

var condition = ('condition' in item) ?  item.condition[0].conditionDisplayName : "unknown condition"

 

ここで

(<i>property</i> in <i>object</i>)

はオブジェクトが指定したプロパティを持つかどうかを判断しています。