Object.prototype.values打破了应用程序

时间:2016-03-13 12:45:47

标签: javascript node.js

为什么Object.prototype.values在完全不同的地方打破了应用?即使values已更改为myvalues

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

1 个答案:

答案 0 :(得分:0)

您不应该更改原生对象原型,因为这可能会破坏没有hasOwnProperty过滤器的for-in循环,并且可能在您的应用或其他库中的其他位置产生其他副作用。

更好地将Object.prototype.values更改为Object.values并将其用作Object.keys