"Records and Tuples aim to be usable and understood with external typesystem supersets such as TypeScript or Flow." Must be fun to design stuff that shouldn't break your language nor other languages.
Immutability and structural equality will make these extremely useful. I'm concerned how the masses of recent grads and bootcamp grads will interact with these. One of my favorite JS interview questions is "what is the difference between var, let, and const?". I don't reject candidates based on it, I just like hearing the different answers. I only heard the correct answer once out of all the entry-level developers that I interviewed.
I was thinking "what's the point?" until I reached the section on equality:<p><pre><code> #{ a: 1 } === #{ a: 1 } //=> true
</code></pre>
This is massively useful.
I'd rather just be able to mark an object as frozen, which we can already do.<p>JavaScript is adding so much new syntax I feel bad for people starting to learn the language now.