Вы можете использовать здесь spread operator
, чтобы распаковать значения из другого объекта, оставив первое по умолчанию.
var props={appName:'name', host:'host', appPath:'path'};
var options={appName:'UpdatedName', appPath:'pathUpdated'};
props = {...props, ...options};
console.log(props);
ОБНОВЛЕНИЕ
В случае undefine, я думаю, вы можете перебирать объект, используя for..in
l oop, чтобы урегулировать данные:
var props={appName:'name', host:'host', appPath:'path'};
var options={appName:'UpdatedName', host:undefined, appPath:'pathUpdated'};
for(let item in options){
if(options[item]) props[item] = options[item];
}
console.log(props);