d at domenic.me (2015-02-22T03:27:16.624Z)
I understand. My question is if I'm not putting anything in the block, I still have to include the empty block?
I understand. My question is if I'm not putting anything in the block, I still have to include the empty block?
I understand. My question is if I'm not putting anything in the block, I still have to include the empty block? Thanks, Jesse ----- Original Message ----- From: "caridy" <caridy at gmail.com> To: "Jesse McCarthy" <es-discuss-2015-02 at jessemccarthy.net> Cc: <es-discuss at mozilla.org> Sent: Wednesday, February 18, 2015 4:44 PM Subject: Re: Why is "export default var a = 1;" invalid syntax? that’s part of the class declaration, like in: export default class Foo extends Backbone { constructor() { … } ... } /caridy > On Feb 18, 2015, at 4:40 PM, Jesse McCarthy > <es-discuss-2015-02 at jessemccarthy.net> wrote: > >> Jesse, you can do: >> `export default class Foo extends Backbone {}` > > Ok, thanks. The empty block is required? The part after `extends` is just > an expression that evaluates to a function, right? So I could do this > right (where Backbone.Model.extend() returns a function)?: > > export default class Klass extends Backbone.Model.extend() {} > Klass.prototype.whatever = whatever; > > Thanks, > Jesse > > ----- Original Message ----- From: "caridy" <caridy at gmail.com> > To: "Jesse McCarthy" <es-discuss-2015-02 at jessemccarthy.net> > Cc: <es-discuss at mozilla.org> > Sent: Tuesday, February 17, 2015 5:38 PM > Subject: Re: Why is "export default var a = 1;" invalid syntax? > > > 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 >