Uncaught TypeError: Cannot read property 'hoge' of undefined
'〇〇' of Undefined
よく出くわすエラーなのですが、〇〇がundefinedで〇〇がおかしい!と私は早とちりしがちなので、
このエラーがどういう意味なのかということを残しておこうと思います。
マリオで見てみよう
こういうobjectがあるとします。
const mario = {
job: 'plumbing',
relationship: {
brother: 'Luige'
}
};
mario.hobby
だと、そんなプロパティはないので、undefined
になります。
ここまでは想像がつきますね。
cannot read property 'fire' of undefined
で、どんなふうに呼び出すとこのエラーがでるかというと、
mario.ability.fire
としたときです。
fire of undefined
なのでundefinedになっているfireではなく、
undefinedの中のfireというプロパティが読めないということですね。
marioの中のabilityというプロパティがなく、そこがundefinedになっているので、
undefinedの中のfireプロパティが読めないのです。
const mario = {
job: 'plumbing',
relationship: {
brother: 'Luige'
}
undefined: {
fire: 🔥
}
};
コードが複雑になってくると混乱してきますが、
こんなふうにシンプルに考えてみましょう。(と自分に言い聞かせている)
Author And Source
この問題について(Uncaught TypeError: Cannot read property 'hoge' of undefined), 我々は、より多くの情報をここで見つけました https://qiita.com/Tomken84/items/1d6fa7e83923d610daf1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .