core-js 是babel-polyfill 的底层依赖,通过各种奇技淫巧,用 ES3 实现了大部分的 ES2017 原生标准库,同时还要严格遵循规范。
示例:
Array.from(new Set([1, 2, 3, 2, 1])); // => [1, 2, 3] '*'.repeat(10); // => '**********' Promise.resolve(32).then(x => console.log(x)); // => 32 setImmediate(x => console.log(x), 42); // => 42
没有全域命名空间污染:
var core = require('core-js/library'); // With a modular system, otherwise use global `core` core.Array.from(new core.Set([1, 2, 3, 2, 1])); // => [1, 2, 3] core.String.repeat('*', 10); // => '**********' core.Promise.resolve(32).then(x => console.log(x)); // => 32 core.setImmediate(x => console.log(x), 42); // => 42
经过测试并支持的平台
Chrome 26+
Firefox 4+
Safari 5+
Opera 12+
Internet Explorer 6+ (sure, IE8- with ES3 limitations)
Edge
Android Browser 2.3+
iOS Safari 5.1+
PhantomJS 1.9 / 2.1
NodeJS 0.8+