A good starting point for researching the history is: https://web.archive.org/web/20110505015255/http://wiki.ecmascript.org:80/doku.php?id=strawman:private_names
And the pages it links to. On May 28, 2018, 4:43 PM, at 4:43 PM, Allen Wirfs-Brock <al...@wirfs-brock.com> wrote: >For a while TC39 considered syntactic support for referencing >Symbol-keyed properties. EG: > >let pri = new Symbol; >obj.@pri = 42; > >When we realized that symbols weren't private enough, we decided that [ >] would suffice. > >At that point using Symbols for "soft private" was no more convenient >and perhaps less then just using a _ prefix to be indicate >soft-private. > > >On May 28, 2018, 4:10 PM, at 4:10 PM, Mike Samuel ><mikesam...@gmail.com> wrote: >>https://esdiscuss.org/topic/private-slots >>""" >>Allen Wirfs-Brock (5 years ago) >> >>As further evidence, the word "private" does not even occur in >sections >>8.1.6 and 8.1.6.1 of the current ES6 draft. These are the sections >that >>define the ES6 object model. Small changes and additions had to be >made >>to >>allow for property keys to be either strings or symbols but those >>changes >>are independent of whether a symbol is private or not. The only place >>that >>the privateness of a symbol comes into play (besides in proxies) is in >>the >>context of a few reflection operations whose behavior is predicated >>upon >>whether a symbol property key is a private symbol or not. This is very >>similar to the tests that the same or similar operations make on >>individual >>property attributes. >>""" >>I don't know when Object.getOwnPropertySymbols made symbols useless >for >>private-like symbols, bit IIUC, 5 years ago they were kind of being >>advanced for both to allow properties visible only to a symbol holder >>and >>for cooperative namespace separation. >> >> >> >>On Mon, May 28, 2018 at 3:48 PM, Mark Miller <erig...@gmail.com> >wrote: >> >>> There was at some point an attempt at elaborating "symbol" into some >>kind >>> of "private name" or "private symbol", which failed for well >>explained >>> reasons. However, this is not where symbols started. Symbols started >>as a >>> way to introduce new properties while avoiding conflict with >possible >>> property names, IOW, as a way to introduce new property "names" that >>were >>> guaranteed not to collide with any existing names. This is still >>their >>> primary purpose. >>> >>> >>> On Mon, May 28, 2018 at 11:09 AM, T.J. Crowder < >>> tj.crow...@farsightsoftware.com> wrote: >>> >>>> Hi all, >>>> >>>> I've tried to glean this from the meeting notes and such, but many >>who >>>> were actively involved are on the list, so: >>>> >>>> Am I right that Symbols started out as "private Name objects" then >>over >>>> time their name was changed, they became primitives, and the >privacy >>aspect >>>> was dropped; but having guaranteed-unique values was still useful, >>and >>>> found application (amongst other places) in solving the problem of >>adding a >>>> default iterator to `Array.prototype` without name conflicts with >>existing >>>> code in the wild? >>>> >>>> Thanks, >>>> >>>> -- T.J. Crowder >>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> es-discuss@mozilla.org >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>>> >>> >>> >>> -- >>> Cheers, >>> --MarkM >>> >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >>> >>> >> >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>es-discuss mailing list >>es-discuss@mozilla.org >>https://mail.mozilla.org/listinfo/es-discuss > > >------------------------------------------------------------------------ > >_______________________________________________ >es-discuss mailing list >es-discuss@mozilla.org >https://mail.mozilla.org/listinfo/es-discuss
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss