HN2new | past | comments | ask | show | jobs | submitlogin

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.


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!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: