无法读取if中的undefined属性

时间:2018-07-26 18:07:48

标签: javascript

我想检查是否设置了某些东西...

    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:当我不给它时,无法读取未定义的属性'600px'。但是比我想要的app.user.case.item_unbox.image

我该怎么做?我也尝试过

if(app.user.case.item_unbox.image["600px"]) {

我得到同样的错误...导致其未设置。但这没关系...因为我将设置其他...

2 个答案:

答案 0 :(得分:0)

错误是因为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;
}

答案 1 :(得分:-1)

在这种情况下,您的图像道具是未定义的道具,所以...

if(app.user.case.item_unbox.image && app.user.case.item_unbox.image["600px"])

应该工作