Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
Run results for:
Classes vs Prototype
Go to the benchmark
Embed
Embed Benchmark Result
Run details:
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36
Browser:
Chrome 119
Operating system:
Mac OS X 10.15.7
Device Platform:
Desktop
Date tested:
2 years ago
Test name
Executions per second
Classes
641225.8 Ops/sec
Prototype
883091.4 Ops/sec
Tests:
Classes
"use strict"; function _instanceof(left, right) { if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) { return right[Symbol.hasInstance](left); } else { return left instanceof right; } } function _classCallCheck(instance, Constructor) { if (!_instanceof(instance, Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } var Person = /*#__PURE__*/ function () { function Person() { _classCallCheck(this, Person); this.spoken = ''; } _createClass(Person, [{ key: "speak", value: function speak(frase) { this.spoken += "".concat(frase, ". "); } }]); return Person; }(); var person = new Person(); person.speak('Hello world'); person.speak('Anybody out there?'); person.speak('Ok Im out!');
Prototype
function Person () { this.spoken = '' } Person.prototype.speak = function (frase) { this.spoken += frase + '. ' } var person = new Person() person.speak('Hello world'); person.speak('Anybody out there?'); person.speak('Ok Im out!');