なぜMDN関数でpolyfillsは "if(!Array.prototype.filter)"を使用しますか?JavaScriptプロトタイプ
if (!Array.prototype.filter) {
Array.prototype.filter = function(fun/*, thisArg*/) {
'use strict';
var t = Object(this);
var len = t.length >>> 0;
var res = [];
var thisArg = arguments.length >= 2 ? arguments[1] : void 0;
for (var i = 0; i < len; i++) {
if (i in t) {
var val = t[i];
if (fun.call(thisArg, val, i, t)) {
res.push(val);
}
}
}
return res;
};
}
何が必要ですか?
'array'型の' filter'プロトタイプが存在しない場合、スクリプトはそれを作成します。 –