The main use case for ES6 symbols is that you can use them as property keys that can’t clash with other property keys.
In case you think that name clashes don’t matter, here are three examples of where name clashes caused problems in the evolution of the JavaScript standard library:
Enough with the fatigue – tips against feeling overwhelmed:
Object.getOwnPropertyDescriptors()
The ECMAScript proposal “Object.getOwnPropertyDescriptors()
” by Jordan Harband and Andrea Giammarchi is part of ECMAScript 2017. This blog post explains it.
Update 2017-01-29: At the TC39 meeting in January 2017, the last feature of ECMAScript 2017, “Shared memory and atomics” advanced to stage 4. That means that its feature set is now complete, as listed below.
Array.prototype.includes
Array.prototype.includes
is an ECMAScript proposal by Domenic Denicola and Rick Waldron. It is at stage 4 (finished) and part of ECMAScript 2016.
Async functions are an ECMAScript proposal by Brian Terlson. It is at stage 3 (candidate).
Before I can explain async functions, I need to explain how Promises and generators can be combined to perform asynchronous operations via synchronous-looking code.
**
)The exponentiation operator (**
) is an ECMAScript proposal by Rick Waldron. It is at stage 4 (finished) and part of ECMAScript 2016.
We always knew that ECMAScript 2016 (ES2016) would be a small release. It turns out that it will be very small. Read on for a list of its features and an explanation why that is not a problem.
Today, Johannes Weber and I are launching a new weekly email newsletter: ES.next News.
In this blog post, I present enumify, a library for implementing enums in JavaScript. The approach it takes is inspired by Java’s enums.