I have a function that takes a config object as an argument. Within the function, I also have default object. Each of those
You can use the ECMA 2018 spread operator in object literals...
var config = {key1: value1};
var default = {key1: default1, key2: default2, key 3: default 3};
var settings = {...default, ...config}
//resulting properties of settings:
settings = {key1: value1, key2: default2, key 3: default 3};
BabelJS support for older browsers