#TC39
The full agenda including links to the slides and presentation materials can be found here.

Full meeting notes will be published in roughly two weeks time.

github.com/tc39/agendas...
agendas/2026/09.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
github.com
October 1, 2026 at 8:44 AM
The 116th meeting of @tc39.es was hosted by Sony Interactive Entertainment in Tokyo.

Thanks to our hosts for again providing an excellent venue, facilities, refreshments, dedicated artwork(!), and an excellent events team 👍
October 1, 2026 at 8:44 AM
ECMAScript excitement 😉

This week @tc39.es advanced these proposals 🎉

4️⃣ Dynamic Code Brand Checks
4️⃣ Iterator Chunking/Includes/Join
3️⃣ Thenable Curtailment
2️⃣.7️⃣ default in export * from "mod"
2️⃣.7️⃣ export defer
2️⃣.7️⃣ JSON.parse options
2️⃣ BigInt from Exponential
2️⃣ Composites
1️⃣ Pulling in AbortController
October 1, 2026 at 8:44 AM
Technically it's a shallow comparison. But if the children are all composites or primitives, that ends up being equivalent to a deep comparison.

The comparison would fail if it hits two independent objects that have equivalent children.

github.com/tc39/proposa...
GitHub - tc39/proposal-composites
Contribute to tc39/proposal-composites development by creating an account on GitHub.
github.com
October 1, 2026 at 5:49 AM
Los iteradores de #JavaScript ya tienen join(), includes(), chunks() y windows(): el #TC39 los pasó a stage 4 y entran en ECMAScript 2027.

Como son perezosos, procesas muchos datos sin cargarlo todo en memoria. Ya me veo usando chunks() para mandar peticiones a #LLM en lotes.
September 30, 2026 at 2:41 PM
¡JavaScript sigue evolucionando! Prepara objetos que se comparan por valor.

Composites avanza a Stage 2 en TC39.

Dos objetos con el mismo contenido podrán ser === aunque se creen por separado.

También funciona por valor en Set y como llave de Map.
September 30, 2026 at 2:04 PM
ECMAScript excitement 😉

Congrats to @nicr.dev on advancing "Include default export in export * from" to Stage 2.7 at @tc39.es today 🎉

Today re-exporting the contents of another module omits the default export.

It is believed this behavior change is web-compatible.
September 30, 2026 at 8:26 AM
GitHub - tc39/proposal-composites
Contribute to tc39/proposal-composites development by creating an account on GitHub.
github.com
September 30, 2026 at 8:15 AM
ECMAScript excitement 😉

Congrats to @ashley-c.bsky.social from TechAtBloomberg on advancing the Composites proposal to Stage 2 at @tc39.es today 🎉

Composites are objects that are compared by value instead of identity. They are an evolution of Record & Tuple proposal.
September 30, 2026 at 8:15 AM
ECMAScript excitement 😉

Congrats to @nicr.dev on advancing `export defer` to Stage 2.7 at @tc39.es today 🎉

It is a performance feature that permits lazy evaluation of re-exported bindings. It is useful for reducing the cost of partially-used barrel files 👍
September 30, 2026 at 8:06 AM
🗼 Live from the @tc39.es plenary in Tokyo: Just resolved to advance github.com/tc39/proposa... to Stage 2.7

Soon, export * from "foo" will also re-export default. 🤯

Chuckling to myself thinking how this would have likely been a non-starter in a more compat risk-averse committee (e.g. WHATWG). 🙃
GitHub - tc39/proposal-export-star-default: Proposal to include default export in `export * from 'module'`
Proposal to include default export in `export * from 'module'` - tc39/proposal-export-star-default
github.com
September 30, 2026 at 7:31 AM
It feels very strange for me that I can hear TC39 meeting news during the day in Japan time
September 30, 2026 at 7:04 AM
ECMAScript excitement 😉

Congrats to Richard Gibson on advancing BigInt from Exponential to Stage 2 at @tc39.es today 🎉

🔶 BigInt("1e2")

It allows a BigInt to be created from a number that includes an exponential component 👍
September 30, 2026 at 3:17 AM
ECMAScript excitement 😉

Congrats to @peet.bsky.social from TechAtBloomberg advancing JSON.parse Options to Stage 2.7 at @TC39 today 🎉

There are two independent opt-ins.

🔶 deep freezing the entire object
🔶 non-array objects get a null prototype

Names may change ⚠️
September 30, 2026 at 2:55 AM
ECMAScript excitement 😉

Congrats to @michael.ficarra.me on advancing the Iterator Chunking proposal to Stage 4 at @tc39.es today 🎉

It can make iterators that chunk & window content.

[0,1,2,3].values().chunks(2); // [0,1], [2,3]
[0,1,2,3].values().windows(2); // [0,1], [1,2], [2,3]
September 29, 2026 at 5:28 AM
ECMAScript excitement 😉

Congrats to @bakkot.com on advancing Iterator Join to Stage 4 at @tc39.es today 🎉

Iterator.prototype.join() turns an iterator directly into a single string (with an optional separator) just like Array.prototype.join()

github.com/tc39/proposa...
GitHub - tc39/proposal-iterator-join: JS proposal for a means to concatenate the contents of an iterator into a string
JS proposal for a means to concatenate the contents of an iterator into a string - tc39/proposal-iterator-join
github.com
September 29, 2026 at 4:37 AM
Hailing from Vancouver, now lives in Holland. He is a core collaborator of @nodejs.org (loaders/modules, test runner, and userland migrations teams), TC39 and WinterTC / TC55 delegate, and author of several npm packages. Outside of engineering, he's known for cats, wine, and brunch.
September 28, 2026 at 9:14 AM
More potential advancements:

2⃣ BigInt from exponential
2⃣ Composites
2⃣ Private Declarations
1⃣ Pulling in AbortController

The full agenda is here:

github.com/tc39/agendas...
agendas/2026/09.md at main · tc39/agendas
TC39 meeting agendas. Contribute to tc39/agendas development by creating an account on GitHub.
github.com
September 27, 2026 at 11:07 AM