Полифилл — это кусок JavaScript-кода, который реализует современную функциональность в старых браузерах, которые её нативно не поддерживают. Он проверяет, существует ли функция, и если нет, предоставляет собственную реализацию в качестве запасного варианта.
Классический пример — полифилл для Array.prototype.includes(), который не поддерживается в старых браузерах:
if (!Array.prototype.includes) {
Array.prototype.includes = function(value) {
return this.indexOf(value) !== -1;
};
}
Сначала проверяется, существует ли уже этот метод — если нет, он определяется вручную. Такой паттерн позволяет избежать перезаписи нативных реализаций в современных браузерах.
Вместо того чтобы писать полифиллы вручную, разработчики обычно используют специализированные библиотеки:
core-js для трансформации синтаксиса и автоматической подстановки полифилловПолифиллы — ключевой инструмент для прогрессивного улучшения: они позволяют писать современный, чистый код и при этом гарантировать, что он надёжно работает во всех целевых окружениях.
Полифилл проверяет, существует ли уже нативная реализация функции, прежде чем предоставить пользовательский fallback, чтобы не перезаписать реализации современных браузеров.
Новый — ещё не проверен сообществом
Вы