is there a way to copy a global object (Array,String…) and then extend the prototype of the copy without affecting the original one? I’ve tried with this:
var copy=Array;
copy.prototype.test=2;
But if i check Array.prototype.test it’s 2 because the Array object is passed by reference. I want to know if there’s a way to make the “copy” variable behave like an array but that can be extended without affecting the original Array object.
Good question. I have a feeling you might have to write a wrapper class for this. What you’re essentially doing with
copy.prototype.test=2is setting a class prototype which will (of course) be visible for all instances of that class.