index.js
function merge (obj1, obj2) {
  var c = {},
    keys = Object.keys(obj2),
    i;

  for (i = 0; i !== keys.length; i++) {
    c[keys[i]] = obj2[keys[i]];
  }

  keys = Object.keys(obj1);
  for (i = 0; i !== keys.length; i++) {
    if (!c.hasOwnProperty(keys[i])) {
      c[keys[i]] = obj1[keys[i]];
    }
  }

  return c;
}
function merge (obj1, obj2) {
  var c = {},
    keys = Object.keys(obj2),
    i;

  for (i = 0; i !== keys.length; i++) {
    c[keys[i]] = obj2[keys[i]];
  }

  keys = Object.keys(obj1);
  for (i = 0; i !== keys.length; i++) {
    if (!c.hasOwnProperty(keys[i])) {
      c[keys[i]] = obj1[keys[i]];
    }
  }

  return c;
}
function merge ( obj1 , obj2 ) { var c = { } , keys = Object . keys ( obj2 ) , i ; for ( i = 0 ; i !== keys . length ; i ++ ) { c [ keys [ i ] ] = obj2 [ keys [ i ] ] ; } keys = Object . keys ( obj1 ) ; for ( i = 0 ; i !== keys . length ; i ++ ) { if ( ! c . hasOwnProperty ( keys [ i ] ) ) { c [ keys [ i ] ] = obj1 [ keys [ i ] ] ; } } return c ; }
Shallow copy two objects into a new object

Objects are merged from left to right. Thus, properties in objects further
to the right are preferred over those on the left.

@param {object} obj1
@param {object} obj2
@returns {object}
@api private
Shallow copy two objects into a new object