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
andTypedArray.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 inWeakSets
andWeakRefs
, and registered inFinalizationRegistries
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)