Um polyfill é um arquivo de Javascript que preenche um buraco replicando atributos nativos para navegadores que não os possuem.
Criado por Remy Sharp (https://remysharp.com/2010/10/08/what-is-a-polyfill), um polyfill, ou polyfiller, é um pedaço de código (ou plugin) que fornece a tecnologia que o desenvolvedor espera que o navegador implemente.
Um exemplo de polyfill
O código abaixo é um polyfill para o novo método de string do ES6, startsWith()
:
if (!String.prototype.startsWith) {
String.prototype.startsWith = function (searchString, position) {
position = position || 0;
return this.substr(position, searchString.length) === searchString;
};
}