Revisiting extending native prototypes after ECMAScript 5

前端 未结 2 1087
温柔的废话
温柔的废话 2020-12-11 20:06

Recently, given the changes to defining properties in ECMAScript 5, I have revisited the question of whether we can safely extend the native JavaScript prototypes. In truth

相关标签:
2条回答
  • 2020-12-11 20:20

    The definitive, absolute answer is ...

    "It depends." :)

    Extending any built in JavaScript object can be perfectly safe or it can be a complete disaster. It depends on what you are doing and how you are doing it.

    Use smart practices and common sense and test the hell-out-of-it.

    0 讨论(0)
  • 2020-12-11 20:23

    Extending objects native to JavaScript might become a little safer, through many collision concerns still stand. Generally, unless you're extending object to support standartized behavior from more recent standard it really would be still much safer to introduce wrapper - it is much easier to do things right way when you're the only one in control.

    Speaking of objects native to environment (DOM elements and nodes, AJAX stuff), new JS standard still don't give and, arguably, can't give you any guarantee about any interaction with those except what defined in their interface standard. Never forget that they're potentially accessible through many different scripting engines and thus not need to be tailored for quirks of one specific language - JS. So recommendation to not extend those either still stands as well.

    0 讨论(0)
提交回复
热议问题