错误:在对象原型中添加forEach使其只读



我想扩展对象原型,添加forEach方法。

我在这里遵循了这个指南,但这会导致创建forEach原型的其他东西失败。在我的例子中,我得到了错误与RxJS.

是否有一种方法来添加原型Object.forEach,但保持它可写的其他人?

if (!Object.prototype.forEach) {
Object.defineProperty(Object.prototype, 'forEach', {
value: function (callback, thisArg) {
if (this == null) {
throw new TypeError('Not an object');
}
thisArg = thisArg || window;
for (var key in this) {
if (this.hasOwnProperty(key)) {
callback.call(thisArg, this[key], key, this);
}
}
}
});
}

闪电战这里

看来writable: true起作用了

参见:define property

Object.defineProperty(Object.prototype, 'forEach', {
writable: true,
value: function (callback: ObjectForEachCallback, thisArg: any) {
if (this == null) {
throw new TypeError('Not an object');
}
thisArg = thisArg || window;
for (const key in this) {
if (this.hasOwnProperty(key)) {
const res = callback.call(thisArg, this[key], key);
if (res === false) {
break;
}
}
}
},
});

相关内容

  • 没有找到相关文章

最新更新