【ぽりふぃる】
ポリフィル とは?
最終更新:
💡 環境に足りないAPIや機能を、追加のコードで補う
実行環境が標準で提供していないAPIや機能を、追加のコードで補うもの。WebではJavaScriptによる実装が多い。新しいブラウザにも未対応の機能があり、すべての機能を完全に再現できるとは限らない。
📌 このページのポイント
ポリフィルって何を埋めてるの?
トランスパイラとは違うの?
必要なものだけ選べるの?
core-jsなどから選べるよ。Babel 7のpreset-envではtargetsとuseBuiltIns、corejsの設定が関係する。usageは使用箇所を見て必要なimportを加える仕組みだけれど、Babel 8ではuseBuiltInsが廃止されたので、版に合うポリフィル用プラグインの案内を確認しよう
入れておけば、どの環境でも同じになる?
完全に同じとは限らないよ。必要な機能を再現できるか、標準実装との差や対象環境での動作を確認する。配布元や更新の状態、追加コードの読み込み量も見て、使わないものまで一律に入れないようにしよう
まとめ:ざっくりこれだけ覚えればOK!
「ポリフィル」って出てきたら「環境に足りないAPIや機能を補うコード」と思えばだいたいOK!
📖 おまけ:英語の意味
「Polyfill」 = 機能の穴を埋めるもの
💬 命名したRemy Sharpは、壁の穴を埋めるパテの商品Polyfillaのイメージも説明しているよ。古いブラウザに限定した名前ではないんだ