如何获取可能具有未定义键的Object值?

时间:2016-09-14 03:38:26

标签: javascript angularjs

类似于angular' s $parse服务。

如果有这样的对象:

const obj = {
  items: [
    {
      store: {
        type: ''
      }
    }
  ]
};

观看:密钥itemsstore以及type可能是undefined,或者不存在。

我想获得第一个item类型,这是我的代码:

const firstItem = obj.items[0] || {};
const store = firstItem.store || {};
const type = store.type || 'computer';

我认为有更好的方法可以做到这一点。我知道angular $parse服务很简单。有没有像angular $parse服务或任何其他想法的方式?谢谢!

2 个答案:

答案 0 :(得分:2)

为什么不使用try catch。

var type;
try {
    type = obj.items[0].store.type;
}
catch {
    type = 'computer';
}

答案 1 :(得分:0)

if(!angular.isUndefined(obj))
{
   if(angular.isArray(obj.items)){
       // Do something
   }
}

你需要吗?