DEV Community

Posted on • Updated on

Updates from the 94th TC39 meeting

There were several items on the agenda, this post focuses on feature proposals and their progress from the 94th TC39 meeting.

Stage 4:

  • Change Array by Copy: Provides additional methods on Array.prototype and TypedArray.prototype to enable changes on the array by returning a new copy of it with the change.

  • Intl.NumberFormat V3: Additional features for Intl.NumberFormat to solve key pain points.

  • Symbols as WeakMap keys: Permit Symbols as keys in WeakMaps, entries in WeakSets and WeakRefs, and registered in FinalizationRegistries

Stage 3:

  • ArrayBuffer transfer: proposal to add ‘ArrayBuffer.prototype.transfer’ (transfer, transferToFixedLength, detached)

Stage 2:

  • Import Assertions: Proposal for syntax to import ES modules with assertions (P.S: Important to note import assertions was demoted from stage 3) Details
  • Intl era/monthCode: To specify necessary details about era, eraYear and monthCode usage with Temporal in internationalization setting (for calendars other than iso8601)
  • Symbol Predicates: proposal to introduce ways to differentiate symbols.

Stage 1:

  • Async Context: proposal is to provide a mechanism to ergonomically track async contexts in JavaScript.
  • Proto pollution mitigation: Symbol.proto proposal to prevent prototype pollution by introducing a secure mode that only allows prototypes to be accessed through methods or symbol keys, not string property keys. This aims to increase security by making it harder for prototypes to be manipulated maliciously.

P.S: “Iterator helpers” was split into sync (stage 3) and async (stage 2).

Top comments (0)