peterS.: [equals], [dump] und [clone] - historischer exkurs.

Beitrag lesen

hallo in die runde,

@Struppi, @molily - schoen, Euch mal wieder zu lesen.

Dein Problem ist eher der Unterschied zwischen einer deep copy
und einer shallow copy. Eine deep copy erzeugt ein neues Objekt
mit allen Eigenschaften des Orginals, was aufwendig ist, deshalb
wird es selten gemacht.

Die Dikussion gab es auch schon öfters, ...
... Peter hat es mal erklärt.

... und hier auch (am leider nur hingerotzten beispiel):
    [Object].equals, [Object].dump, [Object].clone - (Nov. 2006)

... und endlich auch mal ausfuehrlicher, als dann schon klar war,
    dass die existenzberechtigung fuer [equals], [dump] und [clone]
    in JavaScript fast ausschliesslich in deren verwendung als
    lehr- bzw. lernbeispiel begruendet liegt (Maerz. 2008).

objekte werden seit/nach Douglas Crockford und Richard Conford
kopiert, indem sie als prototyp eines anonymen und *leeren*
konstruktors referenziert werden - z.b. so:

var object = (function (blueprint) {  
  
	var GreenBody = (function () {});  
	GreenBody.prototype = blueprint;  
  
	return (new GreenBody);  
});

auf genau dieser basis steht das von Mathias erwaehnte [Object.create].

so long - peterS. - pseliger@gmx.net

--
»Because objects in JavaScript are so flexible, you will want to think differently about class hierarchies.
Deep hierarchies are inappropriate. Shallow hierarchies are efficient and expressive.« - Douglas Crockford
ie:( fl:) br:> va:( ls:& fo:) rl:) n3;} n4:} ss:} de:µ js:} mo:? zu:]