Brendan Eich wrote:
  I actually would have preferred if 'new Symbol'
worked, and that was what V8 implemented before the meeting.

And just to be clear, what you implemented before the meeting, symbol primitive with Symbol auto-wrapper and no throw on ({}[new Symbol]) seems better.

I think the issue some of us are having is auto-wrapping rather than taking the value objects approach. If we are doing value objects as discussed, then for symbols we have a choice: follow the string pattern, or follow the int64, bignum, etc. proposal.

Of course value objects are not in ES6, and you may disagree on that strawman's eschewing of auto-wrappers (I can't tell). Both of these objections, whatever the ultimate disposition of value objects, seem to me to be legitimate cause to favor the string pattern in ES6. But we could be suffering from path dependence in taking this shorter-term-conservative approach.

A separate issue with the string pattern: we do not want symbol objects converting by toString, which motivated throwing instead. Claude just suggested auto-unwrapping when used as a property name. I'll follow up in reply to that sub-thread.

/be
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to