<div dir="ltr"><div>The main issue is that modules are statically analysable and imports/exports are processed before the module executes, and the behavior of a symbol is by definition a runtime thing. Until the code executes, there would be no symbol object, and there would be no way to know what thing was being imported imported / exported.<br></div><div><br></div>The primary benefit of symbols is that they are unique, and cannot collide unless you have a reference to them. Module exports have full control over their names and don't have the same collision issues that objects and classes generally do. What is the benefit you are hoping to get from exposing these values on symbols instead of string keys?<div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Oct 15, 2015 at 12:14 AM, Francisco Tolmasky <span dir="ltr"><<a href="mailto:tolmasky@gmail.com" target="_blank">tolmasky@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Not sure if it isn’t the case, but it seems the only way to export symbols right now is:<div><br></div><div>```js</div><div>export default { [Symbol(“something”)]: blah }</div><div>```</div><div><br></div><div>It would be nice if “symbol literals” could somehow be supported. In particular, I can imagine this sort of thing becoming common:</div><div><br></div><div>export { “5.4” as Symbol(“version”) }</div><div><br></div><div>Or, even better (but harder since its now more expression):</div><div><br></div><div>import VersionSymbol from “symbols"</div><div>export { “5.4” as VersionSymbol }</div><div><br></div><div>I’m currently writing an API where there are expected methods stored in symbols, but this forces exporting one default object instead of being able to lay them out individual.</div><div><br></div><div>Thanks,</div><div><br></div><div>Francisco</div><span class="HOEnZb"><font color="#888888"><div><div><br></div>-- <br><div>Francisco Tolmasky<br><a href="http://www.tolmasky.com" target="_blank">www.tolmasky.com</a><br><a href="mailto:tolmasky@gmail.com" target="_blank">tolmasky@gmail.com</a></div>
</div></font></span></div>
<br>_______________________________________________<br>
es-discuss mailing list<br>
<a href="mailto:es-discuss@mozilla.org">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" rel="noreferrer" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><br>
<br></blockquote></div><br></div>