如何检查对象未定义?

时间:2013-06-14 05:21:44

标签: javascript

我有对象

dataSourceConfig.transport.read.url

remoteDataSourceConfig: { 
transport: {
        read: {
            url: null, 
        },
    },
},

如何检查dataSourceConfig.transport.read.url是否未定义?

1 个答案:

答案 0 :(得分:4)

如果我理解你的问题,你必须检查所有中间对象是否存在:

if (dataSourceConfig &&
    dataSourceConfig.transport &&
    dataSourceConfig.transport.read &&
    dataSourceConfig.transport.read.url != null
) {
  // is not null or undefined
}

否则你可以这样做:

function isKeySet(obj, key) {
  var keys = key.split('.');
  return keys.reduce(function(o,k){ return o[k]; }, obj) != null;
}

isKeySet(dataSourceConfig, 'transport.read.url'); // false