Javascript Object.prototype.values中断应用程序

Javascript Object.prototype.values中断应用程序,javascript,node.js,Javascript,Node.js,为什么Object.prototype.values会在完全不同的地方破坏应用程序?即使值更改为我的值 Object.prototype.values = function (obj) { var vals = Object.keys(obj).map(function (key) { return obj[key]; }); return vals; } 您不应该更改本机对象原型,因为这可能会在没有过滤器的情况下中断in循环,并且可能会在应用程序或使用

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

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

您不应该更改本机对象原型,因为这可能会在没有过滤器的情况下中断in循环,并且可能会在应用程序或使用的库的其他地方产生其他副作用


最好将
Object.prototype.values
更改为
Object.values
,并像使用
Object.keys

一样使用它。为什么要向Object.prototype添加一个方法,然后在方法中不使用
。我只是在我的控制台上测试了一下。