// 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)