检查变量是否未定义

Cheking if variable is undefined

所以我想检查 node.js 中是否有未定义的变量。到目前为止,我是这样工作的:

if(typeof object.data.items[1] === 'undefined')
{
    break;  
}
else
{
    console.log("Defined");         
}

但是它给我这个错误:

"TypeError: Cannot read property 'data' of undefined".

关于如何在检查它是否未定义的同时绕过此错误的任何想法?

检查两个对象,object.data 首先定义。

if(object && object.data && typeof object.data.items[1] === 'undefined')
{
    break;  
}
else
{
    console.log("Defined");         
}

if(!object || !object.data || typeof object.data.items[1] === 'undefined')
    {
        break;  
    }
    else
    {
        console.log("Defined");         
    }

似乎 object 变量也未定义。试试下面的代码:

if(
    typeof object === 'undefined' ||
    typeof object.data === 'undefined' ||
    typeof object.data.items[1] === 'undefined')
{
    break;  
}
else
{
    console.log("Defined");         
}
if(!_.get(object,['data','items',1]))
{
    break;  
}

当您尝试访问 属性 of JSON 对象时,您必须确保点运算符的左侧必须有一些值,但不能是 undefined 或 null。 IE。 如果你想访问 a.b.c.d 那么你必须确保每个左侧 属性 都有一些值。您可以使用@rijin 的回答。