ES5 added a number of methods to Object, which seem to break the semantic consistency of JavaScript.
For instance, prior to this extension, the JavaScri
the JavaScript API always revolved around operarting on the object itself;
This is not correct. E.g. JSON and Math always had own methods. Nobody does such things:
var x = 0;
x.cos(); // 1.0
({"a":[0,1],"p":{"x":3,"y":4}}).toJSON();
There are numerous articles on the web about why extending Object.prototype is a bad thing. Yes, they're about client code, but maybe this is bad for build-in methods also for some points.