What is polyfilling and how to use it in JavaScript
· Category: JavaScript
Short answer
A polyfill is a script that implements a modern JavaScript feature in older environments that do not natively support it.
Steps
- Feature-detect before polyfilling:
javascript if (!Array.prototype.flat) { Array.prototype.flat = function(depth = 1) { /* implementation */ }; } - Use a service like polyfill.io for conditional delivery.
- Use core-js with Babel for automatic polyfill injection:
javascript import "core-js/stable";
Tips
- Only polyfill features you actually use.
- Prefer transpilation over polyfills when possible.
Common issues
- Over-polyfilling increases bundle size.
- Polyfills that do not fully match the spec cause subtle interoperability bugs.