export default and export {foo as default}?

Erik Arvidsson erik.arvidsson at gmail.com
Thu Jan 29 16:49:49 PST 2015

I looked into it in more details and I seem to have been mistaken.
"*default*" is just internal spec name that is needed for hoisting
FunctionDeclaration and to create the required anonymous binding.

On Thu Jan 29 2015 at 4:20:15 PM Erik Arvidsson <erik.arvidsson at gmail.com>

> It used to be the case that `export default` was just syntactic sugar for
> exporting something with the name "default".
> export default 42;
> was the same as
> const x = 42;
> export {x as default};
> More importantly this symmetry was very useful on the import side as well
> as when reexporting default exports.
> export {default} from './m.js'
> The above line now requires a local binding.
> import tmp from './m.js';
> export default tmp;
> I don't know why this was changed or if this was discussed anywhere?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150130/9b1354ee/attachment.html>

More information about the es-discuss mailing list