Andreas Rossberg (2013-12-05T16:21:32.000Z)
domenic at domenicdenicola.com (2013-12-10T02:17:25.012Z)
On 5 December 2013 16:48, Kevin Smith <zenparsing at gmail.com> wrote: > \#1 is the base case because it is completely general. Any IdentifierName > may appear in the "as" clause. > > ````js > export { x as delete, y as new, z as default }; // Perfectly fine! > ``` I certainly wouldn't mind this simplification either. > Of course, "default" has special meaning on the import side: > > ```js > import x from "package:foo"; > > Desugars (very beautifully) to: > > ```js > import { default as x } from "package:foo"; > ```` > > The sugaring on the import side is a clear win, but I'm not so sure about > the sugarings on the export side. Although the import side has this one extra syntactic special case for defaults: ```js import x, {y as z, ...} from "..." ``` That seems really redundant. I assume mixing default import with others will be an extremely rare case, and when really needed, can easily be expressed as either ```js import {default as x, y as z, ...} from "..." ``` or ```js import x from "..." import {y as z, ...} from "..." ```