Kevin Smith (2014-03-14T16:24:53.000Z)
domenic at domenicdenicola.com (2014-03-21T15:07:48.772Z)
> var f = function a() {}; > a(); // nope. Sure, note the equals (which is my point). > var D = class C {}; > > And no one would expect to be able to this: > > var c = new C(); Same thing. Note the equals, which gives the reader the necessary visual cue that we are entering an AssignmentExpression context. > But if you used the `export Declaration` form, it will work (as it does > today, without `export` of course): > > export class C {} > var c = new C(); > > export function F() {} > var f = new F(); Right. The lack of equals sign shows us that this is clearly a declaration. > To make a single form that works across platforms (ie. an amd module > doesn't "just work" in node and vice versa). I don't think this is strong > enough to be considered a valid counter-point, I recommend not pursuing it. > `export default function() {}` will work the same way on all platforms. Sorry, I don't understand this. ES6 modules, whatever they are, will be the same across platforms. And if I believe TC39 is making a mistake, I will pursue it : )