At the last TC39 meeting (
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-30.md#44-instantiation-reform-review-create-design-rationale-and-possible-alternatives
and
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-31.md#44-follow-up-instantiation-reform-create
) we agreed to a general direction to try for a new object instantiation
design to replace @@create.
Since then I have gotten feedback and had design discussions with a number of
individuals. This has lead to a number of refinements of the core design and
one remaining point where there are strong contrary positions. The point of
contention is about whether or not a subclass construction ever implicitly
calls its superclass constructor.
https://gist.github.com/allenwb/291035fbf910eab8e9a6 summaries the main
syntactic changes since the meeting and provides rationales them. These
features are common to both alternates. this is a good place to start, after
reading the meeting notes.
I have prepared two longer Gists that outline the two alternatives designs,
presents design rationales, and provides usage examples for a number of likely
use cases. Note that there is more commonalities then differences among the
two alternatives. the syntactic choices and semantics of [[Construct]] are the
same for both.
These two Gist have parallel construction for easy comparison. I suggest
approaching this is by first readying through one of the Gists and then doing a
side by side read through of the alternative to see the differences in the
designs and usage.
https://gist.github.com/allenwb/5160d109e33db8253b62 with implicit super
construct if no local allocation
https://gist.github.com/allenwb/53927e46b31564168a1d explicit super construct
required if no local allocation
I appreciate it if major constructive feedback on any of these documents were
made via Gist comments.
Allen
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss