> Why can't we just use "new" in such declarations:
>
> let Point = class {
> x: 0, //not really needed unless defining an object exemplar
> y: 0,
> new(x,y) {
> this.x = x;
> this.y=y;
> }
> };
>
> It is shorter to type, reads better, and is much more suggestive of its
> direct relationship with the new operator.
>
> The only real issue I can think of is that in ES5 unquoted "new" is a valid
> property name in an object literal. However, in this case we are using it in
> a new syntactic context (a concise method property) that doesn't exist in
> ES5. Whether or not we also let gave new this meaning in a
> propertyAssignment form (a breaking change) can be a secondary design
> decision to be considered. Related would be concern that there are
> frameworks that actually use obj.new() as an idiom. We probably would need
> to be careful to not break those, but I think that is also doable.
>
> There are various semantic details that need to be specified, but none of
> them seem difficult. Before getting into them, I'm more interested in what
> is essentially a bikesheding questions: is this a direction that we shoud
> consider?
I like the idea of replacing the method name “constructor” with something
better, but “new” suggests instantiation *and* initialization to me. Is “init”
a possibility?
--
Dr. Axel Rauschmayer
[email protected]
home: rauschma.de
twitter: twitter.com/rauschma
blog: 2ality.com
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss