The JSF TC39 Meeting Report — Nov 2016

Leo Balter
Dec 7, 2016 · 8 min read

Diversity

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

import(`./section-modules/${link.dataset.entryModule}.js`)
.then(...

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';

Promise.try

More Promises

Promise.resolve

25.4.4.5 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.
...

Promise#finally

RegExp

the s (dotAll) flag on Stage 1

/foo.bar/.test('foo\nbar'); // false
/foo.bar/s.test('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

Conclusion

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