#314: JavaScript Decorators

Visit on Github.

Opened Oct 29, 2018

Sziasztok TAG,

I'm requesting a TAG review of:

Further details (optional):

  • Relevant time constraints or deadlines: A review before mid-January 2019 will be appreciated, to ensure that we have this feedback before asking TC39 for Stage 3.
  • I have read and filled out the Self-Review Questionnare on Security and Privacy. The answer to all questions is "no". Care has been taken to not unexpectedly expose private state to decorators.
  • I have reviewed the TAG's API Design Principles

You should also know that...

We would love to hear whether and how decorators may be useful for web platform APIs. We are considering a decorator standard library as a follow-on proposal.

We'd prefer the TAG provide feedback as (please select one):

  • open issues in our Github repo for each point of feedback
  • open a single issue in our Github repo for the entire review
  • leave review feedback as a comment in this issue and @-notify [github usernames]

Discussions

Comment by @kenchris Oct 31, 2018 (See Github)

The TAG believes this is a very compelling and useful feature for web developers.

It allows adding metadata close to what it relates to instead of elsewhere.

An example is the Polymer static properties getter which returns JSON explaining how properties and attributes reflect and serialize.

Having that meta data close to the related property/class field will improve the developer experience for working with web components and the like. We already see a lot of adoption of decorators via TypeScript, for instance in Angular, and it is our experience that web developers are very happy with the feature.

We hope TC39 or others can provide additional info to help explain to web developers, web component developers and web specification developers how best to use this features.

Comment by @littledan Oct 31, 2018 (See Github)

Thanks for the quick review! We'll work on improving the explainer and documentation.

Comment by @littledan Feb 5, 2019 (See Github)

In the January 2019 TC39 meeting, decorators got some pretty significant feedback from representatives of Apple, Google and Mozilla. We'll be thinking about next steps from here, but the result might be somewhat different from the current specification draft. More detailed TAG review at this point would probably be premature.

Comment by @cynthia Feb 5, 2019 (See Github)

Based on the feedback from @littledan, I think we can close and revisit this later when there is a new proposal. @littledan can you request a re-open when you have a new proposal ready?

Comment by @littledan Feb 5, 2019 (See Github)

OK, will do.