Object.prototype.values 会破坏应用程序



为什么Object.prototype.values在完全不同的地方破坏应用程序?即使values改为myvalues

Object.prototype.values = function (obj) {
    var vals = Object.keys(obj).map(function (key) {
        return obj[key];
    });
    return vals;
}
不应

更改本机对象原型,因为这会在没有 hasOwnProperty 筛选器的情况下中断 for-in 循环,并且可能会在应用或使用的库中的其他位置产生其他副作用。

最好将Object.prototype.values更改为Object.values并像Object.keys一样使用它。

最新更新