JavaScript Polifill Nedir?

JavaScript Polifill Nedir? Nasıl Uygulanır?

JavaScript düzenli olarak geliştirilen ve yeni özellikler katılan bir dil. Bu geliştirmeler yapılırken dile yeni özellikler ve fonksiyonlar da eklenmekte.

Bu nedenle özellikle eski tarayıcılar yeni sürüm JavaScript ile yazılmış kodları çalıştırırken, bilmedikleri metod, nesne veya fonksiyonlar ile karşılaşabiliyorlar. Bu durum hata oluşmasına ve sayfa içerisindeki kodun doğru çalıştırılmaması sonucunu doğurmaktadır.

Polifill

Polifill eski tarayıcılarda çalışmayan kod parçalarını, o tarayıcı üzerinde çalıştırmak için kullanılan kod parçasıdır.

Mesela Math.trunc girilen kesirli bir sayının, noktadan sonraki bölümünü silerek sadece tam sayı bölümünü geri dönderir.

const tamsayi = Math.trunc(13.4);
console.log(tamsayi);
// Konsola
// 13
// değerini yazdırır.

Bu kod Chorome 38. sürümü veya Firefox 25. sürümünden sonra çalışır. Internet Explorer ile ise çalışmayacaktır. Diğer tarayıcı uyumlarını görmek için buraya bakabilirsiniz.

Eğer yazdığımız uygulama için önemli bir bölüm ise, eski bir tarayıcı ile sayfamız açıldığında sorun yaşayacağız demektir.

Fonksiyon Tarayıcı Tarafından Destekleniyor Mu?

Bir hata olamaması için yapacağımız işlemlerden bir tanesi fonksiyon tarayıcı tarafından destekleniyor mu denetlemek.

if (!Math.trunc) { // fonksiyon yoksa
  // kodu ekle
  Math.trunc = function(number) {
    return number < 0 ? Math.ceil(number) : Math.floor(number);
  };
}

JavaScripte bir nesneye istendiğine yeni bir fonksiyon veya özellik eklenebilir. Bu asıl koda dahil olsa bile.

Böylece yukarıdaki kodda tarayıcıya Math.trunc desteği sağlamış olduk ve kod eski bir tarayıcıda çalışırsa, if (!Math.trunc) bölümü true değeri oluşturacak ve Math nesnesine trunc metodu eklenecektir. Sonrasında kodun herhangi bir yerinde Math.trunc kullanılabilir olacaktır. Yeni tarayıcılarda zaten sorun olmadığından tüm tarayıcılar için çalışan bir kodumuz olacaktır.

Diğer Yöntemler

Eski tarayıcılar ile uygum sorununu çözmek için farklı yöntemler kullanılabilir.

Bunlar dışında farklı çözümler de bulabilirsiniz, yada kendi çözümlerinizi üretebilirsiniz.

Sonuç

Eski nesil tarayıcılar ile çalışmak önemli bir sorundur. Çünkü JavaScriptin yeni özelliklerini kullanamazlar. Bu sorunu çözmek için kullandığımız kod bölümlerine polifill diyoruz.

Sizin de eski nesil tarayıcılar ile yaşadığınız sorunlar oldu mu? Olduysa bizimle paylaşabilir misiniz?

Yorum bırakın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir