Why is "export default var a = 1;" invalid syntax?

Matthew Robb matthewwrobb at gmail.com
Wed Feb 18 08:10:11 PST 2015


I guess the take away here is that the default export is NOT a shared
binding, correct?


- Matthew Robb

On Tue, Feb 17, 2015 at 5:38 PM, caridy <caridy at gmail.com> wrote:

> Jesse, you can do:
>
> `export default class Foo extends Backbone {}`
>
> in case you want to reference to the exported class in the body of the
> module, or you can do:
>
> `export default class extends Backbone {}`
>
> /caridy
>
> > On Feb 17, 2015, at 4:47 PM, Jesse McCarthy <
> es-discuss-2015-02 at jessemccarthy.net> wrote:
> >
> > Re:
> https://esdiscuss.org/topic/why-is-export-default-var-a-1-invalid-syntax
> >
> > I find myself wanting to do this kind of thing with a function returned
> from a function, e.g. when using Backbone, and it seems silly that I can't:
> >
> > export default var Klass = Backbone.Model.extend();
> > Klass.prototype.whatever = whatever;
> > // ...
> >
> > For that use case will the following be functionally identical? Any
> gotchas with circular dependencies or anything?
> >
> > A)
> > var Klass = Backbone.Model.extend();
> > Klass.prototype.whatever = whatever;
> > export default Klass;
> >
> > B)
> > var Klass = Backbone.Model.extend();
> > Klass.prototype.whatever = whatever;
> > export { Klass as default };
> >
> > C)
> > var Klass = Backbone.Model.extend();
> > export default Klass;
> > Klass.prototype.whatever = whatever;
> >
> > D)
> > var Klass = Backbone.Model.extend();
> > export { Klass as default };
> > Klass.prototype.whatever = whatever;
> >
> > If I was willing to use class syntax could I do this?
> >
> > export default class Klass extends Backbone.Model.extend();
> > Klass.prototype.whatever = whatever;
> >
> >
> > Glen Huang said:
> >> I think this is illegal, should be {a: a}
> >
> > Sorry, I'm probably missing something obvious, but what is this
> referring to?
> >
> > _______________________________________________
> > es-discuss mailing list
> > es-discuss at mozilla.org
> > https://mail.mozilla.org/listinfo/es-discuss
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150218/7d7757e9/attachment.html>


More information about the es-discuss mailing list