ポリフィルとは
ポリフィル(polyfill)とは、最新の JavaScript 仕様に対応していない機能があるブラウザで、その機能の代わりの手段で同じことをするプログラムである。代表的なものに core-js がある。
たとえば、ES2023 で導入された配列のメソッドに findLast(), findLastIndex(), with() などのメソッドがある。 また、ES2017 では、数値にゼロを追加するゼロ埋め(ゼロパディング、zero padding)をする便利な文字列のメソッドに padStart() がある。 しかし、これらのメソッドに対応していない古いブラウザもある(SeaMonkey など)。こういった古いブラウザでも次のようにすればこれらのメソッドが使える。
<script src="https://cdn.jsdelivr.net/npm/core-js-bundle/minified.min.js"></script>
<script type="module">
const arr1 = [1, 2, 3, 4, 5];
const edited = arr1.with(2, 100);
console.log(edited); // [1, 2, 100, 4, 5]
console.log(arr1); // [1, 2, 3, 4, 5]
const arr2 = [3, 1, 4, 1, 5, 9, 2, 6, 5];
const last = arr2.findLast((val, index, arr) => { return val > 5 });
const lastIndex = arr2.findLastIndex((val, index, arr) => { return val > 5 });
console.log(last); // 6
console.log(lastIndex); // 7
const padded = '7'.padStart(3, '0');
console.log(padded); // '007'
</script>
参考
- ES 2023 の仕様(262.ecma-international.org)
- core-js(github.com)