Verständnisfrage JavaScript getter und setter
bearbeitet von
Meine Güte, da arbeitet man mal ein paar Stunden für die Brötchen und verpasst gleich eine heiße Diskussion :)
Ich werde in meinem Artikel noch genauer beschreiben, wo sich die Funktionen für Getter und Setter verstecken; aber im Wiki gibt's dazu durchaus schon knappe Infos, z.B. unter defineProperty und getOwnPropertyDescriptor - die ich dann auch ausbauen werde sofern mir keiner zuvorkommt :)
Dass der Typ Symbol in ES6 neu ist, wusste ich, habe mir den Sinn davon aber noch nicht angelesen. Jetzt weiss ich immerhin was man damit anstellen kann.
Der Nachteil von get/set Properties ist - wenn man KEINE Symbols hat - dass man sie zwingend auf der Objektinstanz definieren muss wenn sie private Daten verwenden sollen. Weil - man muss ja eine Closure erzeugen, die die Daten versteckt, und das muss pro Instanz geschehen. Muss man viele Objekte erzeugen, ist das eine böse Bremse. Wenn man get/set Properties auf dem Prototypen definiert, dann musste man bisher mit "private by convention" arbeiten, also Unterstrich-Properties. Die neue Nummer mit Symbols ist da richtig genial, das schau ich mir gerne noch an und arbeite es in meinen Artikel ein.
Gruß
Rolf
Verständnisfrage JavaScript getter und setter
bearbeitet von
Meine Güte, da arbeitet man mal ein paar Stunden für die Brötchen und verpasst gleich eine heiße Diskussion :)
Ich werde in meinem Artikel noch genauer beschreiben, wo sich die Funktionen für Getter und Setter verstecken; aber im Wiki gibt's dazu durchaus schon knappe Infos, z.B. unter defineProperty und getOwnPropertyDescriptor - die ich dann auch ausbauen werde sofern mir keiner zuvorkommt :)
Dass der Typ Symbol in ES6 neu ist, wusste ich, habe mir den Sinn davon aber noch nicht angelesen. Jetzt weiss ich immerhin was man damit anstellen kann.
Der Nachteil von get/set Properties ist - wenn man KEINE Symbols hat - dass man sie zwingend auf der Objektinstanz definieren muss wenn sie private Daten verwenden sollen. Weil - man muss ja eine Closure erzeugen, die die Daten versteckt, und das muss pro Instanz verstehen. Muss man viele Objekte erzeugen, ist das eine böse Bremse. Wenn man get/set Properties auf dem Prototypen definiert, dann musste man bisher mit "private by convention" arbeiten, also Unterstrich-Properties. Die neue Nummer mit Symbols ist da richtig genial, das schau ich mir gerne noch an und arbeite es in meinen Artikel ein.
Gruß
Rolf
Verständnisfrage JavaScript getter und setter
bearbeitet von
Meine Güte, da arbeitet man mal ein paar Stunden für die Brötchen und verpasst gleich eine heiße Diskussion :)
Ich werde in meinem Artikel noch genauer beschreiben, wo sich die Funktionen für Getter und Setter verstecken; aber im Wiki gibt's dazu durchaus schon knappe Infos - die ich dann auch ausbauen werde sofern mir keiner zuvorkommt :)
Dass der Typ Symbol in ES6 neu ist, wusste ich, habe mir den aber noch nicht angelesen. Jetzt weiss ich immerhin was man damit anstellen kann.
Der Nachteil von get/set Properties ist - wenn man KEINE Symbols hat - dass man sie zwingend auf der Objektinstanz definieren muss wenn sie private Daten verwenden sollen. Weil - man muss ja eine Closure erzeugen, die die Daten versteckt, und das muss pro Instanz verstehen. Muss man viele Objekte erzeugen, ist das eine böse Bremse. Wenn man get/set Properties auf dem Prototypen definiert, dann musste man bisher mit "private by convention" arbeiten, also Unterstrich-Properties. Die neue Nummer mit Symbols ist da richtig genial, das schau ich mir gerne noch an und arbeite es in meinen Artikel ein.
Gruß
Rolf