mervynyang
3/21/2017 - 8:23 AM

From http://git.oschina.net/yangmingyuan/codes/4vd5hbr3wx0gocnzup1q752

function optionalChaining(obj, chain) {
  return chain
    .split('.')
    .reduce(function(acc, val) {
      return acc ? acc[val] : undefined;
    }, obj);
}
var user = { address: { street: 'No.969 West WenYi Road', }, a: { b: { c: 2 } }, }
var ret = optionalChaining(user, 'address');
console.log(ret)