Summary for the 56th meeting of Ecma TC39

  • SharedArrayBuffer reached Stage 4
    • test262 tests written
    • Specification is done, integration in progress
      • See especially detailed notes for users and implementers about memory model
    • Four browsers have implementations behind a flag
  • Bug fixes
    • Another cleanup to module namespace objects
    • Considered earlier errors for bad super usage; looking for implementation feedback
    • Revert the semantics for class extends null to the ES2015 state
    • Fixing up another funny case in sloppy-mode block-scoped function hoisting--committee agrees on shape of solution; more spec mechanics work needed
  • This is it for new features in ES2017
    • See a summary of features by Axel Rauschmeyer
    • Many bug fixes, web reality fixes and non-normative cleanups
    • The branch is (logically) cut; we can still backport bug fixes.
  • Making TC39 and specifications more accessible
    • Consider a multipage version of the specification to augment the single-page one
    • Improve community outreach, e.g., meet with user groups to discuss their needs
    • In the May meeting, we'll devote three days for discussing the vision for JavaScript
  • Null propagation operator reached stage 1 slides
    • Strawman syntax: x?.y => x === undefined ? x : x.y
  • Intl (ECMA 402)
  • Administration
    • TC39 is looking for a chair or other management structure! Please let us know if you have any good candidates
    • Code of Conduct proposed based on JSFoundation Code of Conduct. Input wanted.
    • Jordan Harband will be TC39's official "GitHub Curator", helping keep track of current status of proposals
    • We will have a template to help new spec authors through the process
  • Unambiguous module grammar did not reach consensus
  • Larger integer types
  • Library proposals
    • New Stage 1 proposals:
      • Standardization of Error.prototype.stack and more detailed stack introspection
      • Realm API for isolation, virtualization and more in a light-weight context
    • RegExp features
      • Overview of proposals by Mathias Bynens
      • Named groups got to Stage 2; still working out details
      • Other proposals had Stage 3 reviewers named; we may have a decent package of features for ES2018
    • Promise.prototype.finally made tweaks, got Stage 3 reviewers
    • global faces web compat issues, looking for a new name
  • Public and private class fields
    • Remain at Stage 2
    • May get new syntax starting with own for instance fields (e.g., class X { own y = z; own #a = b; static c = d; })
    • Anticipating proposal to change order of evaluation for object literals, to be consistent with Munich resolution on class evaluation order