JavaScriptでERROR TypeError: Cannot read property 'x' of undefinedの意味
プロパティ「x」がundefinedなのではなく、プロパティ「x」
があるデータ自体がundefinedらしい。
でも、if文でプロパティ「x」があるデータをundefiniedか
どうか聞いているのに、elseに書かれてるプロパティ「x」
でエラーが発生するのはなんでやねーんって思う。
「a === undefined」って聞き方が悪いのか?と思って
「typeof(a) === undefined」って聞き方してるのに、うまく
いかない。最初、PHPやJavaのように「a !== undefined」で
聞いてるから動かないのかと思ったけど、そうでもないらしい。
undefinedは変数自体の定義はあるけど、中身がない。
nullはそもそも変数がないまたは空らしいんだけども・・・
この辺も曖昧すぎるな。
イライラする前に日本語情報はあてにせず、英語情報で
勉強するしかないのかー(ΦωΦ;)
その後、いろいろ試した挙げ句にDBのデータを見て
どうのこうのって書いてエラーハンドリングもしたい
場合は、他の言語と違い以下のようにするといいっぽい。
undefinedとかnullとか書きたくなっても、そこは他とは
違う文化を受け入れて我慢するのがいいっぽいw(ΦωΦ)
[うまく行った例]
if (results[0]) {
if (results[0]["id"]) {
// 正常系の処理
}
} else {
// エラーハンドリング
}
[参考サイト]