Traté de clonar exactamente un objeto en javascript. Sé que la siguiente solución usando jQuery:Exactamente clonar un objeto en javascript
var newObject = jQuery.extend({}, oldObject);
// Or
var newObject = jQuery.extend(true, {}, oldObject);
pero el problema con esto es, que el tipo de objetos se pierde:
var MyClass = function(param1, param2) {
alert(param1.a + param2.a);
};
var myObj = new MyClass({a: 1},{a: 2});
var myObjClone = jQuery.extend(true, {}, myObj);
alert(myObj instanceof MyClass); // => true
alert(myObjClone instanceof MyClass); // => false
¿Hay alguna solución para conseguir cierto en la segunda alerta?
David, la diferencia con todas las otras preguntas de clonación es que pregunté cómo conservar la propiedad de tipo de objetos. – Tom