The JSF TC39 Meeting Report — Nov 2016

Leo Balter
Dec 7, 2016 · 8 min read


Let’s talk about ES Modules and NodeJS again

Dynamic Modules Reform

Variation on Unambiguous JavaScript Grammar, or "use module"

What changes from Stage 0 to 1?

import() is on stage 3


Varius Oddities on Module Namespace Objects

Remove @@iterator

non-configurable @@toStringTag

[[SetPrototypeOf]] will return true if argument is null

Proposal rejected: include default export in export * from 'module'

export * from 'foo';
export { default } from 'foo';


More Promises

Promise.resolve Promise.resolve( x )1. Let C be the this value.
2. If Type(C) is not Object, throw a TypeError exception.
3. If IsPromise(x) is true, then
a. Let xConstructor be ? Get(x, "constructor").
b. If SameValue(xConstructor, C) is true, return x.



the s (dotAll) flag on Stage 1

/'foo\nbar'); // false
/'foo\nbar'); // true

lookBehind assertions on Stage 2

NaN Revisited

SharedArrayBuffer to Stage 3

Private State to Stage 2

64bit Int to Stage 1

Int64(0) === 0L
Uint64(0) === 0UL


Thanks to Kris Borchers

Leo Balter

Written by

Open Web Engineer at Bocoup, representing the JS Foundation at TC39.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade