Brendan Eich (2013-07-31T03:36:30.000Z)
Mark S. Miller wrote:
> Aside from this confinement issue, all other the advantages that 
> unique symbols have over unique-ish strings seem minor to me. The 
> biggest is default non-enumerability, when we're getting away 
> (admittedly slowly) from enumerability being significant anyway. IMO, 
> if the only advantages of unique symbols over unique-ish strings are 
> these minor ones, then they don't pull their weight.
>
> However, I don't understand the confinement scenario you have in mind. 
> Can you give an example?

A friend field a la C++ "friend", e.g.:

module ... {
   const friend = Symbol(); // however it's spelled
   class A { ... }
   class B { ... }
}

where fiend is used in the ... elisions but only to access properties of 
objects known to be instanceof A or B.

/be
domenic at domenicdenicola.com (2013-08-02T20:38:28.726Z)
Mark S. Miller wrote:
> Aside from this confinement issue, all other the advantages that 
> unique symbols have over unique-ish strings seem minor to me. The 
> biggest is default non-enumerability, when we're getting away 
> (admittedly slowly) from enumerability being significant anyway. IMO, 
> if the only advantages of unique symbols over unique-ish strings are 
> these minor ones, then they don't pull their weight.
>
> However, I don't understand the confinement scenario you have in mind. 
> Can you give an example?

A friend field a la C++ "friend", e.g.:

```js
module ... {
   const friend = Symbol(); // however it's spelled
   class A { ... }
   class B { ... }
}
```

where fiend is used in the ... elisions but only to access properties of 
objects known to be instanceof A or B.