为什么扩展内置的 JavaScript 对象不是一个好主意?
Topics
JAVASCRIPT
在GitHub上编辑
扩展内置/原生 JavaScript 对象意味着将属性/函数添加到其“原型”中。 虽然起初这似乎是一个好主意,但在实践中却是危险的。 想象一下,你的代码使用了几个库,通过添加相同的 contains
方法它们都扩展了 Array.prototype
, 实现将互相覆盖,如果这两种方法的行为不一致,你的代码将会被破坏。
你可能想要扩展一个本地对象的唯一情况是,你想要创建一个 polyfill,本质上是为一个方法提供你自己的实现,这个方法是 JavaScript 规范的一部分,但由于用户的浏览器是一个旧的浏览器,所以可能不存在。