JavaScript のポリフィルとは何ですか?
現代では、最新バージョンの JavaScript が幅広い機能をサポートしています。ただし、一部の古いブラウザではこれらの新機能がすべて完全にはサポートされていないため、Internet Explorer (IE) などのブラウザではロジックが期待どおりに動作しない可能性があります。
古いブラウザとの互換性を確保するために、これらの新しい機能の動作を模倣するカスタム ロジックを作成できます。このカスタム コードは「ポリフィル」として知られています。
この投稿では、配列メソッドのポリフィルの例をいくつか紹介します。
1.マップ:
if (!Array.prototype.map) { try { Array.prototype.map = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("map callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); arr.push(val); } } return arr; } } catch (err) { console.error(err); } }
上記のコードでは、ネイティブのマップ メソッドがない場合に、配列のプロトタイプ チェーンにマップ メソッドを 1 つ追加していることがわかります。
2.フィルター:
if (!Array.prototype.filter) { try { Array.prototype.filter = function(callback) { const arr = []; if (typeof callback !== "function") { throw new Error("filter callback is not a function"); } else { const len = this.length; for (let i = 0; i < len; i++) { const val = callback(this[i], i); if (val) { arr.push(this[i]); } } } return arr; } } catch (err) { console.error(err); } }
以上がJavascript 配列ポリフィル: マップ、フィルターの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。