{"ScriptPreparationCode":"class Thing {\r\n constructor() {\r\n this.a1 = Math.random();\r\n this.a2 = Math.random();\r\n this.a3 = Math.random();\r\n this.a4 = Math.random();\r\n this.a5 = Math.random();\r\n this.a6 = Math.random();\r\n this.a7 = Math.random();\r\n this.a8 = Math.random();\r\n this.a9 = Math.random();\r\n this.aa = Math.random();\r\n this.ab = Math.random();\r\n }\r\n}\r\n\r\nvar r = new Thing();","TestCases":[{"Name":"Iteration with blank object","Code":"var copy = {};\r\nfor(const prop in r) copy[prop] = r[prop];","IsDeferred":false},{"Name":"Object.assign with blank object","Code":"var copy = {};\r\nObject.assign(copy, r);","IsDeferred":false},{"Name":"Iteration with created object","Code":"var copy = Object.create(Object.getPrototypeOf(r));\r\nfor(const prop in r) copy[prop] = r[prop];","IsDeferred":false},{"Name":"Object.assign with created object","Code":"var copy = Object.create(Object.getPrototypeOf(r));\r\nObject.assign(copy, r);","IsDeferred":false},{"Name":"Iteration with blank object and prototype","Code":"var copy = {};\r\nObject.setPrototypeOf(copy, Object.getPrototypeOf(r));\r\nfor(const prop in r) copy[prop] = r[prop];","IsDeferred":false},{"Name":"Object.assign with blank object and prototype","Code":"var copy = {};\r\nObject.setPrototypeOf(copy, Object.getPrototypeOf(r));\r\nObject.assign(copy, r);","IsDeferred":false},{"Name":"Iteration with blank object and prototype prop","Code":"var copy = {};\r\ncopy.__proto__ = r.__proto__;\r\nfor(const prop in r) copy[prop] = r[prop];","IsDeferred":false},{"Name":"Object.assign with blank object and prototype prop","Code":"var copy = {};\r\ncopy.__proto__ = r.__proto__;\r\nObject.assign(copy, r);","IsDeferred":false}]}