if文等で以下のようなエラーが出力された場合の対処法についてまとめます。
js Cannot read property 'プロパティ名' of null
[概要]
以下のようなオブジェクトを例とします。
let user = {
id: 1,
name: 'hoge',
test: {
id: 1,
name:'test'
}
};
下記のようにuserオブジェクトに存在しないmailプロパティを取得しようとするとエラーになります。
・プロパティ取得例
let mail = user.mail;
・エラー内容
js Cannot read property 'mail' of null
エラーを回避する為には事前にオブジェクトの定義を確認する必要があります。
[対応]
・特定プロパティが存在するか確認する
if ('mail' in user) {
let mail = user.mail;
}
・オブジェクトが定義されているか確認する
if文にオブジェクトを記述します。
オブジェクトが定義されていればidを取得する処理を記述するとします。
ただ、これはuserオブジェクトが定義されている場合、必ずidプロパティが存在する事を前提とします。
if (user) {
let id = user.id;
}
上記のように状況に合わせた対応をしてみて下さい。