Why is extending built-in JavaScript objects not a good idea?

Extending built-in JavaScript objects is not a good idea, because it can break parts of code, that you don't control (like the JavaScript libraries, that you use).

Built-in objects are used both by your and by foreign code. By extending them, you run the risk of causing unexpected side-effects in the code, that you don't control.

Moreover, future versions of JavaScript can introduce new methods and/or properties with same names, which means you could silently override them, causing (yet again) unexpected side-effects.