Actual WeakSet Use Cases
#!/JoePea
joe at trusktr.io
Mon Apr 22 18:25:34 UTC 2019
(I edited the broken format of my previous post)
What other use cases are there?
On Mon, Apr 22, 2019 at 11:20 AM #!/JoePea <joe at trusktr.io> wrote:
> > WeakSets are perfect for branding and are how I would expect web
> platform class branding to be explained.
> >
> > ```js
> > const foos = new WeakSet();
> >
> > class Foo {
> > constructor() {
> > foos.add(this);
> > }
> >
> > method() {
> > if (!foos.has(this)) {
> > throw new TypeError("Foo.prototype.method called on an
> incompatible object!");
> > }
> > }
> > }
> > ```
>
> Just curious, is that effectively the same as what the (current) [private
> fields proposal](https://github.com/tc39/proposal-class-fields) offers?
>
> ```js
> class Foo {
> #isFoo = true
>
> method() {
> if (this.#isFoo) {
> throw new TypeError("Foo.prototype.method called on an incompatible
> object!");
> }
> }
> }
> ```
>
> - Joe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20190422/a382b471/attachment.html>
More information about the es-discuss
mailing list