Полифилл — это кусок кода, который добавляет недостающий функционал во время выполнения. Он проверяет, поддерживает ли браузер или окружение конкретный API или метод, и если нет, предоставляет свою собственную реализацию.
Распространённый пример — добавление поддержки новых методов Array:
Array.prototype.includes = function() { ... }
Используй полифилл, когда тебе нужно поддерживать отсутствующие встроенные API или методы, которые старые браузеры не предоставляют нативно.
Транспайлер (например, Babel) преобразует современный синтаксис JavaScript в старый, широко поддерживаемый синтаксис во время сборки, до того как код вообще будет выполнен.
Например, он преобразует:
const greet = () => "Hello";
в:
var greet = function() { return "Hello"; }
Используй транспайлер, когда твой код использует современный синтаксис языка — такой как стрелочные функции, async/await или деструктуризацию — которые старые окружения не могут распарсить.
Promise, fetch или Array.prototype.flatcore-js занимаются полифиллингом APIPolyfills выполняются во время сборки проекта, чтобы преобразовать современный синтаксис JavaScript в старый синтаксис, который могут понять легаси-браузеры.
Новый — ещё не проверен сообществом
Вы