function MyClass(){
var myPrivate = "privat";
this.getMyPrivate = function () {
alert(myPrivate);
}
}
Damit wird bei jedem erzeugen einer Instanz, jedesmal auf's neue, eine Funktion erzeugt und an die aktuelle Instanz angepappt. Das musst du für jede Funktion machen, die auf myPrivate zugreifen können muss. Kurz gesagt, du verzichtest auf eine der Sprachmerkmale, weil du hier nicht mehr prototype verwenden kannst, damit du etwas erreichst, was der Sprache fehlt.
Und ich weiß nicht, ob dir klar ist, dass ich diese Möglichkeiten kenne?
Mir ging es darum zu zeigen was in JS nicht geht und nicht wie es möglich wäre ein ähnliches Verhalten zu simulieren.
Und damit ist die Kapselung hinfällig oder du musst den Umweg über ein zusätzliches closure gehen.
Wieso ist ein Closure ein Umweg?
Weil du es nicht so schreiben kannst, wie ich es in meinem Beispiel gezeigt habe.
Struppi.