JavaScriptの一部の組み込みメソッドが古いブラウザでサポートされていないのはなぜですか?
例:Arrayfill()
メソッド:(ブラウザーのサポート:chrome [v.45]、IE [v.12.0]、Opera [v.32.0]など)
好奇心から、私は「車輪の再発明」を行い、上記の方法を再現することにしました。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
Array.prototype.myFunction = function (staticValue, start, end) {
for(var i = 0; i< this.length; i++) {
if(i===start) {
for(start= i; i<end+1; i++) {
this[i] = staticValue;
};
};
if(start == undefined && end == undefined) {
this[i] = staticValue;
};
};
};
var testFruits = ["Banana", "Orange", "Apple", "Mango", 456, 48999, "power"];
var cars = ["Saab", "Volvo", "BMW"];
testFruits.myFunction("Kiwi", 1, 3);
cars.myFunction("Voom!");
document.getElementById("demo").innerHTML =
testFruits + "<br />" + "<br />" +cars;
</script>
</body>
</html>
これは、いくつかの新しいがサポートが不十分な組み込みメソッドを再作成することにより、コードが古いブラウザーで完全にサポートされることを意味しますか?
解決策を考え出すために通常の関数と一般的な手法のみを使用したことを考えると、私の理論は「はい」です。
古いブラウザは古いです。古いブラウザを実装した人々は、戻って新しい機能を追加することはありません。
JavaScript言語機能が2015年に標準化された場合、タイムトラベルが一般的ではないため、2012年にリリースされたブラウザーにはJavaScript言語機能がありません。誰かが古いブラウザのアップデートをリリースすることは不可能ではありませんが、そうすればそれはもはや古いブラウザではなくなります。
新機能の平原JavaScriptの実装があり、時には可能、およびそれらは通常「polyfills」と呼ばれています。多くのMDNページにはそのようなコードが含まれています(1つの例)。ただし、一部の言語機能には新しい構文が含まれており、もちろん単純なJavaScriptコードでは再現できません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加