code: function (key) {
        var val = obj[key];
  
        // Set if unset
        if (!(key in base)) {
           base[key] = val;
        // If the value is an object and we use recursive mode, use defaults on
        // the value
        } else if (recursive && typeof val === 'object' &&
                   typeof base[key] === 'object') {
           defaults(base[key], val);
        }
        // Otherwise ignore the value
     }
docs: Merging function used by Array#forEach()