পলিফিল হ'ল একটি শিম যা মূল কলটির সাথে একটি শিমের ডাকে প্রতিস্থাপন করে।
উদাহরণস্বরূপ, বলুন আপনি নেভিগেটর.মিডিয়া ডিভাইসস অবজেক্টটি ব্যবহার করতে চান তবে সমস্ত ব্রাউজার এটি সমর্থন করে না। আপনি এমন একটি গ্রন্থাগার কল্পনা করতে পারেন যা একটি শিম সরবরাহ করেছিল যা আপনি এটির মতো ব্যবহার করতে পারেন:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
এই ক্ষেত্রে, আপনি স্পষ্টভাবে মূল বস্তু বা পদ্ধতিটি ব্যবহার না করে শিম কল করছেন। অন্যদিকে পলিফিল আসল বস্তুর উপর বস্তু এবং পদ্ধতিগুলি প্রতিস্থাপন করে।
উদাহরণ স্বরূপ:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
আপনার কোডটিতে দেখে মনে হচ্ছে আপনি স্ট্যান্ডার্ড নেভিগেটর.মিডিয়া ডিভাইসস অবজেক্টটি ব্যবহার করছেন। তবে প্রকৃতপক্ষে, পলিফিল (উদাহরণে অ্যাডাপ্টার.জেএস) এটিকে তার নিজের সাথে প্রতিস্থাপন করেছে।
এটি যার সাথে এটি প্রতিস্থাপন করেছে তা শিম। এটি বৈশিষ্ট্যটি স্থানীয়ভাবে সমর্থিত কিনা তা সনাক্ত করবে এবং তা থাকলে তা ব্যবহার করবে বা এটি যদি তা না হয় তবে অন্য API গুলি ব্যবহার করে এটি চারপাশে কাজ করবে।
সুতরাং একটি পলিফিল একটি ধরণের "স্বচ্ছ" শিম sh "এটি বলার সময় রেমি শার্প (যিনি শব্দটি তৈরি করেছিলেন) এর অর্থ এটিই ছিল" আপনি পলিফিল স্ক্রিপ্টটি সরিয়ে দিলে আপনার কোডটি পলিফিল অপসারণ করা সত্ত্বেও কোনও পরিবর্তন ছাড়াই প্রয়োজনীয় কাজ করবে এটিই ছিল "