![logo](https://user-images.githubusercontent.com/2213682/146607186-8e13ddef-26a4-4ebf-befd-5aac9d77c090.png)
I highly recommend reading this: So, what's next?
Modular standard library for JavaScript. Includes polyfills for ECMAScript up to 2023: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL
. You can load only required features or use it without global namespace pollution.
Raising funds
core-js
isn't backed by a company, so the future of this project depends on you. Become a sponsor or a backer if you are interested in core-js
: Open Collective, Patreon, Boosty, Bitcoin ( bc1qlea7544qtsmj2rayg0lthvza9fau63ux0fstcz ), Alipay.
![](https://opencollective.com/core-js/sponsor/0/avatar.svg)
![](https://opencollective.com/core-js/sponsor/1/avatar.svg)
![](https://opencollective.com/core-js/sponsor/2/avatar.svg)
![](https://opencollective.com/core-js/sponsor/3/avatar.svg)
![](https://opencollective.com/core-js/sponsor/4/avatar.svg)
![](https://opencollective.com/core-js/sponsor/5/avatar.svg)
![](https://opencollective.com/core-js/sponsor/6/avatar.svg)
![](https://opencollective.com/core-js/sponsor/7/avatar.svg)
![](https://opencollective.com/core-js/sponsor/8/avatar.svg)
![](https://opencollective.com/core-js/sponsor/9/avatar.svg)
![](https://opencollective.com/core-js/sponsor/10/avatar.svg)
![](https://opencollective.com/core-js/sponsor/11/avatar.svg)
![](https://opencollective.com/core-js/backers.svg?width=890)
Example of usage:
import 'core-js/actual';
Promise.resolve(42).then(it => console.log(it));
Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5])));
[1, 2].flatMap(it => [it, it]);
(function * (i) { while (true) yield i++; })(1)
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray();
structuredClone(new Set([1, 2, 3]));
You can load only required features:
import 'core-js/actual/promise';
import 'core-js/actual/set';
import 'core-js/actual/iterator';
import 'core-js/actual/array/from';
import 'core-js/actual/array/flat-map';
import 'core-js/actual/structured-clone';
Promise.resolve(42).then(it => console.log(it));
Array.from(new Set([1, 2, 3]).union(new Set([3, 4, 5])));
[1, 2].flatMap(it => [it, it]);
(function * (i) { while (true) yield i++; })(1)
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray();
structuredClone(new Set([1, 2, 3]));
Or use it without global namespace pollution:
import Promise from 'core-js-pure/actual/promise';
import Set from 'core-js-pure/actual/set';
import Iterator from 'core-js-pure/actual/iterator';
import from from 'core-js-pure/actual/array/from';
import flatMap from 'core-js-pure/actual/array/flat-map';
import structuredClone from 'core-js-pure/actual/structured-clone';
Promise.resolve(42).then(it => console.log(it));
from(new Set([1, 2, 3]).union(new Set([3, 4, 5])));
flatMap([1, 2], it => [it, it]);
Iterator.from(function * (i) { while (true) yield i++; }(1))
.drop(1).take(5)
.filter(it => it % 2)
.map(it => it ** 2)
.toArray();
structuredClone(new Set([1, 2, 3]));
It's a bundled global version, for more info see core-js
documentation.