1// es6
2const obj = {name: 'john', surname: 'smith'};
3const objCopy = {...obj};
1var x = {key: 'value'}
2var y = JSON.parse(JSON.stringify(x))
3
4//this method actually creates a reference-free version of the object, unlike the other methods
5//If you do not use Dates, functions, undefined, regExp or Infinity within your object
1var sheep={"height":20,"name":"Melvin"};
2var clonedSheep=JSON.parse(JSON.stringify(sheep));
3
4//note: cloning like this will not work with some complex objects such as: Date(), undefined, Infinity
5// For complex objects try: lodash's cloneDeep() method or angularJS angular.copy() method