Edit in JSFiddle

// Array
var a=[1],b;
b=Array.concat(a);
b.push(2);
console.log('a:',a,'b:',b)

// Object
var a={a:1},b;
Object.assign(b,a);
// b=Object.clone(a);
b.b = 2;
console.log('a:',a,'b:',b)

// Number
var a=1,b;
b=Number(a);
b++;
console.log('a:',a,'b:',b)

// String
var a='1',b;
b=String(a);
b+='2';
console.log('a:',a,'b:',b)

// RegExp
var a=/.*/g,b;
b=RegExp(a.source,a.flags);
b=RegExp(b.source,[].unique.call(b.flags+'gi').join(''))
console.log('a:',a,'b:',b)