polyfill
970 ワード
Polyfill「パテ」(改装の際、欠けた箇所を塗りつぶして平らにすることができます).
たとえばhtml 5のstorage(session,local)は、ブラウザによってバージョンによって互換性が異なります.
Polyfillはこのような問題を解決するために発生した.対応するPolyfill(現在のブラウザで機能がサポートされているかどうかを判断し、サポートされていない場合はサポートされているパッチコードを書く)を書くことで、サポートされていないものをサポートに変えます.
また、一部の古いブラウザではNumberがサポートされていません.isNaNメソッド、対応するPolyfillは以下の通りです.
ブラウザにNumberがない場合.isNaNメソッドは、それに追加され、PolyfillはこのようにAPIの互換性の問題を解決します.
html 5の各機能に対応するPolyfill:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills.
shimとpolyfillの違いは何ですか.
shimは、新しいAPIを古い環境に導入し、古い環境で既存の手段だけでpolyfillを実現するライブラリであり、ブラウザAPIで使用されるshimである.通常、現在のブラウザがAPIをサポートしているかどうかを確認し、サポートしていない場合は対応するpolyfillをロードします.そして新旧ブラウザではこのAPIが使えます.
Es 5-shimはpolyfillではなくshimの例であり、ECMAScript 3のエンジン上でECMAScript 5の新しい特性を実現し、Node.js上とブラウザ上では全く同じ表現があります(Node.js上で使用できるため、ブラウザだけでなくpolyfillではありません).
たとえばhtml 5のstorage(session,local)は、ブラウザによってバージョンによって互換性が異なります.
Polyfillはこのような問題を解決するために発生した.対応するPolyfill(現在のブラウザで機能がサポートされているかどうかを判断し、サポートされていない場合はサポートされているパッチコードを書く)を書くことで、サポートされていないものをサポートに変えます.
また、一部の古いブラウザではNumberがサポートされていません.isNaNメソッド、対応するPolyfillは以下の通りです.
if(!Number.isNaN) {
Number.isNaN = function(num) {
return(num !== num);
}
}
ブラウザにNumberがない場合.isNaNメソッドは、それに追加され、PolyfillはこのようにAPIの互換性の問題を解決します.
html 5の各機能に対応するPolyfill:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills.
shimとpolyfillの違いは何ですか.
shimは、新しいAPIを古い環境に導入し、古い環境で既存の手段だけでpolyfillを実現するライブラリであり、ブラウザAPIで使用されるshimである.通常、現在のブラウザがAPIをサポートしているかどうかを確認し、サポートしていない場合は対応するpolyfillをロードします.そして新旧ブラウザではこのAPIが使えます.
Es 5-shimはpolyfillではなくshimの例であり、ECMAScript 3のエンジン上でECMAScript 5の新しい特性を実現し、Node.js上とブラウザ上では全く同じ表現があります(Node.js上で使用できるため、ブラウザだけでなくpolyfillではありません).