Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
WeakMap and private
var privateThings = new WeakMap();
function Private() {
this.data = 'is private';
}
Private.prototype.somePrivateFunction = function() {
this.foo = 'bar';
};
function Public() {
privateThings.set(this, new Private());
}
Public.prototype.somePublicFunction = function() {
var myPrivate = privateThings.get(this);
// myPrivate.data === 'is private';
myPrivate.somePrivateFunction.call(this);
};
@justinbmeyer

This comment has been minimized.

Copy link

commented Apr 10, 2014

Why couldn't I do:

var p = new Public();

privateThings.get(p)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.