Chame métodos aninhados com segurança

Deseja chamar um método aninhado em um objeto sem ter que se preocupar em causar um erro (como o operador existencial do coffeescript?)

// mthd: full path to method, args - array of arguments
myObj
.prototype.callnested = function(mthd,args){
var m = mthd.split('.'),o=this;
for(var i=0,l=m.length; i < l; i++){
if(o[m[i] === void(obj = o[m[i]])) return void(0);
}
return o.apply(this,args);
}