<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>To me this is a bug not a feature; we should keep it simple and just have one way to get one import from one export.</div><div><br></div><div>Just to make a connection to the topic, Dave's intro says:</div>
<div><span style="font-family:arial,sans-serif;font-size:13px">   We've consistently seen confusion between the semantics of ModuleImport and default export.</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br>
</span></div><div><font face="arial, sans-serif">For me this confusion lands on default export equally as 'module` import.</font></div></div></div></div></blockquote><br></div><div>Personally, I agree, but many people feel strongly about the single-export use case. If default exports help with getting ES6 modules adopted more broadly then the slight increase in complexity is worth it.</div><div><br></div><div>Letís compare. Your approach Ė slightly more redundant:</div><div><br></div><div><div>```js</div><div>// MyClass.js</div><div>export class MyClass { ... }</div><div>// main1.js</div><div>import { MyClass } from "MyClass";</div><div class=""><br></div><div>// myFunc.js</div><div>export function myFunc(...) { ... }</div><div>// main2.js</div><div>import { myFunc } from "myFunc";</div><div class="">```</div><div><br></div></div><div>Default exports:</div><div><br></div><div><div><div>```js</div><div>// MyClass.js</div><div>export default class { ... };</div><div>// main1.js</div><div>import MyClass from "MyClass";</div><div class=""><br></div><div>// myFunc.js</div><div>export default function (...) { ... };</div><div>// main2.js</div><div>import myFunc from "myFunc";</div><div>```</div></div><div><br></div></div><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">-- <br>Dr. Axel Rauschmayer<br><a href="mailto:axel@rauschma.de">axel@rauschma.de</a><br>rauschma.de<br></div><br></div></div><br class="Apple-interchange-newline">
</div>
<br></body></html>