Tach, folgender Code funktioniert nicht, wie er auf den ersten Blick zu arbeiten scheint:
var out = preset; kopiert hier die gesamte Instanz, statt nur die Werte und ändert damit auch das Ausgangsobjekt bei jeder Operation auf die neue Variable.
Mein aktueller "Workaround" sieht so aus (jQuery):
Der hat allerdings einen Schönheitsfehler: extend() schmeißt alle Properties aus dem Objekt, die auf "undefined" gesetzt sind. Im Normalfall vertretbar, nur nicht, wenn man die Namen der Objektproperties bspw. per Schleife auswerten will.
Nun die Frage:
Gibt es eine native JS-Variante, um einen Objektklon mit allen seinen Properties zu erzeugen?
Danke an alle Javascript-Gurus.
Code:
function foo (preset) { var out = preset; out.a = 5; } var inp = { test: 'test'}; console.log (inp); // {test: 'test'} outp = foo (inp); console.log (inp); // {test: 'test' , a: 5}
Mein aktueller "Workaround" sieht so aus (jQuery):
Code:
function foo (preset) { var out = jQuery.extend ({} , preset); out.a = 5; }
Nun die Frage:
Gibt es eine native JS-Variante, um einen Objektklon mit allen seinen Properties zu erzeugen?
Danke an alle Javascript-Gurus.
Kommentar