Polyfill Là Gì

     

Introduction

Chúng ta bao gồm nhiều phương pháp để hỗ trợ viết javascript cho phần đa trình thông qua phiên phiên bản cũ (IE 8, IE 9…), một trong những chúng là sử dụng Polyfill.Bạn vẫn xem: Polyfill là gì

What’s a polyfill?

*

Polyfill là 1 trong những đoạn code nhằm chỉ mang lại browser những phương pháp để implement các javascript feature. Một khi bọn họ đã áp dụng polyfill cho 1 function nào đó thì sau đó họ sẽ ko cần băn khoăn lo lắng về vấn đề liệu function tuyệt method ta vừa viết đã đạt được browser support hay không nữa.

Bạn đang xem: Polyfill là gì

Bạn đang xem: Polyfill là gì

Polyfill gồm phương thức vận động khá đơn giản dễ dàng như sau:


Bạn sẽ đọc: Sự biệt lập Giữa Shim với Polyfill Là Gì ? Polyfill Là Gì


check coi feature đạt được browser support hay khôngnếu browser không support, nó sẽ add code để tư vấn việc implement featurecheck coi feature đã đạt được browser hỗ trợ tư vấn hay khôngnếu browser không tư vấn, nó sẽ showroom code để support việc implement featureLấy lấy một ví dụ về method Array. Prototype.find, trong trường thích hợp browser không support Array. Prototype.find, nó sẽ hướng dẫn browser cách để implement :

Using Polyfills

Về cơ bản, có 2 phương pháp để sử dụng polyfill :Polyfill manually: theo cách thủ công (giống như ta có tác dụng ở trên)Polyfill library: add nhiều polyfill và một lúc thông qua thư viện

Polyfilling manually

: theo cách thủ công bằng tay thủ công ( y hệt như ta có tác dụng ở trên ) : địa chỉ cửa hàng nhiều polyfill và một lúc trải qua thư việnĐầu tiên vớ cả họ phải search polyfill mà lại tất cả bọn họ cần, trả toàn rất có thể trải qua google, bây giờ phần đông phần đa function tốt method new mà đông đảo browser cũ không nhiều tương hỗ đều phải sở hữu sẵn polyfill bên trên MDN .Sau khi tìm được polyfill tương thích, tất cả bọn họ hoàn toàn tất cả thể add nó vào như đoạn code bên trên .

Polyfill library

Lưu ý polyfill là một phần của shim. Shim là một trong thư viện hỗ trợ các API đơn lẻ hoàn toàn cho những browser cũ nhưng không cung cấp các API cùng tên.

Xem thêm: ” Hajimemashite Là Gì ? Một Số Câu Chào Hỏi Thông Thường Hajimemashite Nghĩa Là Gì



Using cutting-edge JavaScript features

Ngoài ra vớ cả chúng ta hoàn toàn hoàn toàn có thể sử dụng Babel – là tool với công dụng chính là compile Javascript, trong quy trình compile nó trả toàn rất có thể đọc các file js, sau đó convert số đông file đó về dạng nhưng browser hoàn toàn có thể hiểu được .

What if polyfills aren’t enough?

Nếu trong trường phù hợp polyfill vẫn cảm thấy không được để support một feature làm sao đó, thì vớ cả họ nên chăm chú lại một chút ít :Liệu bao gồm cần dùng đúng mực feature đấy cho các browser khác nhau không? bạn cũng có thể sử dụng qua một feature khác tương đương nhưng bảo đảm an toàn các browser rất nhiều supportHoặc chúng ta cũng có thể xử lý theo hướng khác mà không yêu cầu dùng đến feature đấy, hay thậm chí còn là không bắt buộc đến javascript?Liệu gồm cần dùng chính xác feature đấy cho các browser khác biệt không ? vớ cả bọn họ hoàn toàn hoàn toàn có thể sử dụng sang 1 feature khác tựa như nhưng đảm bảo an toàn những browser đầy đủ supportHoặc vớ cả họ hoàn toàn rất có thể giải quyết với xử lý theo hướng khác cơ mà không yêu cầu dùng mang đến feature đấy, hay thậm chí là còn là không phải đến javascript ?

Không có chiến thuật nào là buổi tối ưu, tùy theo trường đúng theo mà chúng ta có thể sử dụng các hướng giải quyết khác nhau sao cho tương xứng nhất.

Xem thêm: " By The Same Token Là Gì - By The Same Token Nghĩa Là Gì

How khổng lồ tell if a browser supports the feature?

Để check xem feature mà tất cả bọn họ đang sử dụng được các browser nào tương hỗ, ta trả toàn rất có thể dùng caniuse.com. Viết javascript feature mà lại tất cả chúng ta muốn check, sau đó tất cả chúng ta hoàn toàn có thể xem tác dụng, vd như cùng với Array. Prototype.find :



*
*

Beware the cost of JavaScript

Khi vớ cả bọn họ sử dụng polyfill, đồng nghĩa đối sánh tương quan với câu hỏi tất cả chúng ta sẽ thêm nhiều dòng code javascript hơn. Một khi con số file js vượt lớn, cũng trở thành gây nhiều ảnh hưởng tác cồn :Những browser cũ thường được sử dụng trên những hệ thống cũ, có nghĩa là việc đề nghị tải con số file js mập sẽ ảnh hưởng đến performanceSố lượng file js càng nhiều, quy trình Javascript bundle đang càng mất không ít thời gian hơn

Summary

Những browser cũ thường được sử dụng trên đầy đủ mạng lưới hệ thống cũ, tức là việc yêu cầu tải con số file js bự sẽ tác động tác động đến performanceSố lượng file js càng nhiều, tiến trình Javascript bundle đã càng mất quá nhiều thời hạn hơn

Bài viết nhằm chia sẻ về phương pháp để support javascript với các browser cũ qua việc áp dụng Polyfill và những thư viện hay các tool liên quan. Bài viết còn những hạn chế, cảm ơn bạn đã dành thời hạn theo dõi.