es2pi.js
ES6 + a little more on top of ES5
Description
In short, es2pi is a collection of ES6 polyfills + methods missing even in ES6.
Why reinvent the wheel?
Because:
- shims/polyfills found to date are not quite optimal, especially
Map
andSet
. - If you want just Map/Set, see https://github.com/dankogai/js-es6-map
- ES6 is rather inconsistent in the choice of methods, like...
- Adding
String.prototype.repeat
whileArray.prototype.repeat
is missing. You should be able to go likevar a = [0].repeat(42);
- Type.isType is available only for
Array
. typeof null === null
is welcome but shouldn't we addObject.typeOf
, too?- and the
.typeOf()
methods like'JavaScript'.typeOf() === 'string'
? - and look,
num.is(42)
is definitely better thanObject.is(num, 42)
!
Thanks to ES5, it is now safe to extend Object.prototype
via Object.defineProperty
yet we are still too afraid. Underscore.js is a great hack but a hack nontheless. Isn't it time to stop wrapping JavaScript's bad parts and extend its good parts?
What is es2pi named after?
2π is a little bigger than 6, isn't it?