On Fri, Mar 14, 2014 at 12:24 PM, Kevin Smith <zenpars...@gmail.com> wrote:
> >> 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. > What about the following: Functions with return AssignmentExpression that include "=" and without--are the ones without also confusing without the "necessary" visual cue? function a() { var F; return F = function() {}; } function b() { var C; return C = class {}; } vs. function c() { return function F() {}; } function d() { return class C {}; } Or yield in generators? function * a() { var F; yield F = function F() {}; } function * b() { var C; yield C = class C {}; } vs. function * c() { yield function F() {}; } function * d() { yield class C {}; } > > >> 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. > > >> >>> Node users don't elide the equals sign, do they? >>> >> >>> module.exports = whateva; >>> >>> So why are we? >>> >> >> 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. > Isn't that exactly what I said? You asked "So why are we?", I answered "To make a single form that works across platforms" and added that amd and cjs don't "just work" together. Then I concluded by with a specific example, but surely that wasn't too misleading? Rick
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss