function copy(val, key) {
  if (key === '__proto__') {
    return;
  }

  var obj = this[key];
  if (isObject(val) && isObject(obj)) {
    mixinDeep(obj, val);
  } else {
    this[key] = val;
  }
}
function copy(val, key) {
  if (key === '__proto__') {
    return;
  }

  var obj = this[key];
  if (isObject(val) && isObject(obj)) {
    mixinDeep(obj, val);
  } else {
    this[key] = val;
  }
}
function copy ( val , key ) { if ( key === '__proto__' ) { return ; } var obj = this [ key ] ; if ( isObject ( val ) && isObject ( obj ) ) { mixinDeep ( obj , val ) ; } else { this [ key ] = val ; } }
Copy properties from the source object to the
target object.

@param  {*} `val`
@param  {String} `key`
Copy properties from the source object to the target object .