Yeah it does look like its badly "broken by design". On Fri, 24 Aug 2018 at 22:13, Jordan Harband <ljh...@gmail.com> wrote:
> I'm afraid that still wouldn't solve the problem; the superclass's code is > all 100% completed before the subclass has `this` available. > > On Fri, Aug 24, 2018 at 1:52 PM, Ranando King <king...@gmail.com> wrote: > >> Aaron, congratulations! You just tripped over a new reason for me to >> revive issue #123. The only way to get that to work is to have the default >> values on the prototype. The problem comes because `this` doesn't even have >> a value until the last call to `super()` returns. If a `class` doesn't have >> a base `class` it essentially has Object as a base `class` and `super` is >> implicitly called. So unless the default public field values are on the >> prototype, there's literally no way to have them initialized before the >> base classes are initialized. >> >> On Fri, Aug 24, 2018 at 3:15 PM Aaron Gray <aaronngray.li...@gmail.com> >> wrote: >> >>> I am having an issue with order semantics regarding >>> https://github.com/tc39/proposal-class-fields with derived classes >>> defining or overriding data member values that are used in the base class >>> constructor for initialization of properties of the class. >>> >>> This means the Super Class / Base Class'es constructor does not yet have >>> access to the default field values of the derived class it is initiating. >>> >>> class Base { >>> constructor() { >>> .... >>> .. idAttribute .. >>> .... >>> } >>> idAttribute = 'id'; >>> } >>> class Derived extends Base { >>> constructor() { >>> super(); >>> .... >>> } >>> idAttribute = '_id'; >>> } >>> >>> All would mean having a separate initialize() function, but even this >>> solution is flawed when there is a third level in the hierarchy. And as >>> super() is required it means there seems to be no way round this issue. The >>> only way I can see is some form of override keyword ? >>> >>> >>> Has anyone got any solutions to this issue or work arounds ? >>> -- >>> Aaron Gray >>> >>> Independent Open Source Software Engineer, Computer Language Researcher, >>> Information Theorist, and amateur computer scientist. >>> _______________________________________________ >>> es-discuss mailing list >>> es-discuss@mozilla.org >>> https://mail.mozilla.org/listinfo/es-discuss >>> >> >> _______________________________________________ >> es-discuss mailing list >> es-discuss@mozilla.org >> https://mail.mozilla.org/listinfo/es-discuss >> >> > -- Aaron Gray Independent Open Source Software Engineer, Computer Language Researcher, Information Theorist, and amateur computer scientist.
_______________________________________________ es-discuss mailing list es-discuss@mozilla.org https://mail.mozilla.org/listinfo/es-discuss