Skip to content
This repository was archived by the owner on May 19, 2018. It is now read-only.
This repository was archived by the owner on May 19, 2018. It is now read-only.

Optional Chaining: Stage 1 #328

Closed
Closed

Description

@hzoo

TC39 Proposals: https://github.com/tc39/proposals

Stage: 1, Gabriel Isenberg, Claude Pache

Proposed at TC39 Meeting: https://github.com/tc39/agendas/blob/master/2017/01.md#agenda-items
Spec Repo: https://github.com/tc39/proposal-optional-chaining
Slides: https://docs.google.com/presentation/d/11O_wIBBbZgE1bMVRJI8kGnmC6dWCBOwutbN9SWOK0fU/edit#slide=id.p

ESTree Issue to discuss AST Spec: estree/estree#146

cc @gisenberg if you can implement or work with someone to do so. (Please join our slack if you haven't http://slack.babeljs.io/)


Babylon PR: #545
Babel PR: babel/babel#5786

Activity

  1. gisenberg commented on Jan 30, 2017

    @gisenberg
    Member

    Thanks for looping me in! I wanted to let everyone know that I'm over in the BabelJS Slack if there are others that would like to discuss this feature further. I'm currently working with @bmeck on the Babel side of things.

  2. kristofdegrave commented on Feb 11, 2017

    @kristofdegrave

    I'm currently werking on An PR for this

  3. added a commit that references this issue on Feb 11, 2017
  4. sunnylqm commented on Mar 14, 2017

    @sunnylqm

    Any news? @kristofdegrave

  5. rattrayalex commented on Mar 16, 2017

    @rattrayalex
    Contributor

    As discussed in the babel slack, I'm also interested in contributing to this once the spec is a bit more settled.

    I previously implemented a ?. feature for LightScript (a fork/superset of JS built on babylon/babel). In case it helps anyone, here is:

    • The babel transform
    • The associated tests
    • The commit adding the feature to the lightscript parser (a fork of babylon). It uses poor naming ("elvis operator" isn't accurate) and isn't backwards-compatible; a different approach would be necessary.

    My version doesn't currently support assignments or delete, though I may add those soon.

    For now I'll wait for a bit to hear back from @kristofdegrave and the babel team as to whether the spec seems stable.

  6. cusspvz commented on Mar 31, 2017

    @cusspvz

    Can't wait to see this on ES. Inspite of it being yet at stage-1, it is the only thing that I've always wanted to be part of EcmaScript since I stopped using CoffeeScript. I wish I had spare time to implement it.

  7. thomaschaaf commented on May 24, 2017

    @thomaschaaf

    @gisenberg @kristofdegrave is this still something you are working on? Do you need help?

  8. changed the title [-]Null Propagation Operator: Stage-1[/-] [+]Null Propagation Operator: Stage 1[/+] on May 26, 2017
  9. xtuc commented on May 26, 2017

    @xtuc
    Member

    Based on @kristofdegrave's work, I can make a PR with this master...xtuc:feat-optional-chaining

    I have the Babel part as well babel/babel@7.0...xtuc:feat-optionnal-chaining

    I currently only support the basic syntax:

    a?.b = 42
    delete a?.b
    foo?.bar()
  10. gisenberg commented on May 26, 2017

    @gisenberg
    Member

    @thomaschaaf This is still underway. If you're interested in helping, https://github.com/gisenberg/proposal-optional-chaining is tracking the remaining work. I'm also in the BabelJS Slack if you want to reach out directly.

  11. hzoo commented on May 27, 2017

    @hzoo
    MemberAuthor

    @xtuc, @kristofdegrave Let's start the PR so we can make a review by us + Gabe?

  12. changed the title [-]Null Propagation Operator: Stage 1[/-] [+]Optional Chaining: Stage 1[/+] on May 30, 2017
  13. hzoo commented on Jun 5, 2017

    @hzoo
    MemberAuthor

    The babylon PR is merged (#545)

    Please help review/test the transform PR babel/babel#5813

  14. littledan commented on Jun 6, 2017

    @littledan

    For context, at the TC39 meeting where this proposal was presented, there were a couple concerns raised about the scope of the proposal, one syntactic and one semantic. I've filed two issues to discuss these issues. This is a Stage 1 feature and subject to change!

  15. sunnylqm commented on Jul 4, 2017

    @sunnylqm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions