无法读取 if 中未定义的属性
2018-07-26
109
我想检查是否设置了某些内容...
if(typeof app.user.case.item_unbox.image["600px"] != 'undefined') {
app.user.winnings.image = app.user.case.item_unbox.image["600px"];
} else {
app.user.winnings.image = app.user.case.item_unbox.image;
}
但是当我没有提供时,我得到了 Uncaught TypeError: Cannot read property '600px' of undefined。但是我想要
app.user.case.item_unbox.image
我该怎么做?我也试过了
if(app.user.case.item_unbox.image["600px"]) {
我得到了同样的错误...因为它没有设置。但是没关系...因为我会设置 else...
2个回答
错误是因为
app.user.case.item_unbox.image
未定义,因此您需要提供类似
const img = app.user.case.item_unbox.image;
if(img && img["600px"]) {
app.user.winnings.image = img["600px"];
} else {
app.user.winnings.image = img;
}
的检查
Shubham Khatri
2018-07-26
在这种情况下,你的图像道具是未定义的,所以...
if(app.user.case.item_unbox.image && app.user.case.item_unbox.image["600px"])
应该可以工作
Charles Assuncao
2018-07-26