Why is Object.create so much slower than a constructor?
Background In a project I'm maintaining we make extensive use of null prototype objects as a poor man's alternative to (string key only) Maps, which are not natively supported in many older, pre-ES6 browsers. Basically, to create a null prototype object on the fly, one would use: var foo = Object.create(null); This guarantees that the new object has no inherited properties, such as "toString", "constructor", "__proto__" which are not desirable for this particular use case. Since this pattern appears multiple times in code, we came up with the idea of writing a constructor that would create