Hacker News new | ask | show | jobs
by pcwalton 3802 days ago
It was really hard to make truly private properties that couldn't be leaked in some way without WeakMap. If you don't need foolproof leakage, Symbols are a more convenient way to get most of the benefits of private properties. This is intentional: as I recall, the committee realized that WeakMap wasn't the most ergonomic solution and created Symbols as a more convenient, though less ironclad, alternative.
1 comments

Additionally, symbols would have provided a neat way to implement private (and privately shared) properties, if they hadn't decided on adding the `getOwnPropertySymbols` function[1]. Bummer.

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...

There were other ways to leak symbols before that method was added. They were never foolproof.
Oh? Would love to be enlightened!