0
我使用MDN docs for the Set object中描述的構造函數編寫了一些代碼。不幸的是Internet Explorer 11忽略了構造函數中的任何迭代參數。我試圖重寫構造函數(下面的代碼),但沒有運氣(Set.prototype.size返回 - 'this'不是set對象)。Internet Explorer ECMAScript的填充填充設置構造函數以允許迭代參數
var testSet = new Set([0]);
if (testSet.size === 0) {
//constructor doesnt take an iterable as an argument - thanks IE
var oldProto = Set.prototype
Set = function (iterable) {
if (iterable) {
iterable.forEach(this.add.bind(this));
}
};
Set.prototype = oldProto;
}
有沒有辦法允許Set構造函數有一個可迭代的參數通過,仍然工作在I.E. ?我想下一個最好的選擇將是創建某種工廠方法(Set.create),它返回一個新的Set實例。
你有沒有探索過使用現有的polyfills像'core-js'?這不是我真正推薦實施的東西。 – loganfsmyth