{"ScriptPreparationCode":null,"TestCases":[{"Name":"Classes","Code":"\u0022use strict\u0022;\r\n\r\nfunction _instanceof(left, right) { if (right != null \u0026\u0026 typeof Symbol !== \u0022undefined\u0022 \u0026\u0026 right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError(\u0022Cannot call a class as a function\u0022); } }\r\n\r\nfunction _defineProperties(target, props) { for (var i = 0; i \u003C props.length; i\u002B\u002B) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\u0022value\u0022 in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\r\n\r\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\r\n\r\nvar Person =\r\n/*#__PURE__*/\r\nfunction () {\r\n function Person() {\r\n _classCallCheck(this, Person);\r\n\r\n this.spoken = \u0027\u0027;\r\n }\r\n\r\n _createClass(Person, [{\r\n key: \u0022speak\u0022,\r\n value: function speak(frase) {\r\n this.spoken \u002B= \u0022\u0022.concat(frase, \u0022. \u0022);\r\n }\r\n }]);\r\n\r\n return Person;\r\n}();\r\n\r\nvar person = new Person();\r\nperson.speak(\u0027Hello world\u0027);\r\nperson.speak(\u0027Anybody out there?\u0027);\r\nperson.speak(\u0027Ok Im out!\u0027);","IsDeferred":false},{"Name":"Prototype","Code":"function Person () {\r\n this.spoken = \u0027\u0027\r\n}\r\nPerson.prototype.speak = function (frase) {\r\n this.spoken \u002B= frase \u002B \u0027. \u0027\r\n}\r\n\r\nvar person = new Person()\r\nperson.speak(\u0027Hello world\u0027);\r\nperson.speak(\u0027Anybody out there?\u0027);\r\nperson.speak(\u0027Ok Im out!\u0027);\r\n","IsDeferred":false},{"Name":"ES classes","Code":"class Person {\r\n constructor() {\r\n this.spoken = \u0027\u0027;\r\n }\r\n speak(frase) {\r\n \tthis.spoken \u002B= frase \u002B \u0027. \u0027\r\n }\r\n}\r\n\r\nvar person = new Person()\r\nperson.speak(\u0027Hello world\u0027);\r\nperson.speak(\u0027Anybody out there?\u0027);\r\nperson.speak(\u0027Ok Im out!\u0027);","IsDeferred":false},{"Name":"ES classes with var","Code":"var Person = class {\r\n constructor() {\r\n this.spoken = \u0027\u0027;\r\n }\r\n speak(frase) {\r\n \tthis.spoken \u002B= frase \u002B \u0027. \u0027\r\n }\r\n};\r\n\r\nvar person = new Person()\r\nperson.speak(\u0027Hello world\u0027);\r\nperson.speak(\u0027Anybody out there?\u0027);\r\nperson.speak(\u0027Ok Im out!\u0027);","IsDeferred":false}]}