Before You Start: How to Read This Series
What this JavaScript: The Recent Parts series actually covers, why destructuring gets more room than anything else in it, and the handful of terms it keeps reusing.
JavaScript added something like 300 features and changes between 2015 and 2019. This series doesn't try to cover all of it, that would take weeks and most of it you'd never reach for.
Instead, it's a curated path through the parts worth learning first: template strings and string methods, destructuring, new array methods, iterators and generators, regex upgrades, and async/await. Not the only important features in modern JavaScript, but the ones that pay off fastest once you actually use them.
One warning up front: destructuring gets more space here than anything else, and that's deliberate. It's arguably the most complex single feature ever added to JavaScript. It's also one that keeps paying off in more places the better you understand it, so the extra time spent on it is worth it.
The back half of the series, iterators, generators, regex, async/await, tells its own smaller story: JavaScript catching up on asynchronous programming, an area it was genuinely behind on for years until promises landed in ES6 and everything after built on top of them.
Reading the posts is the easy part. The only way any of this actually sticks is trying it in your own code, not just recognizing it when you see it. Take one feature from each post and use it somewhere real before moving to the next one.
The Words This Series Uses Constantly
Imperative
Code that spells out every step needed to reach a result: loop here, check this, update that variable. To understand what it does, you have to mentally run each step yourself.
Declarative
Code that states the outcome you want and leaves the how to the language. Math.max(...scores) is declarative: it says "the largest of these," not "loop through and compare." Full explanation.
Transpiler
A tool, most commonly Babel, that rewrites code written in the newest JavaScript syntax into older syntax an older engine can still run. You write the clearest version; the transpiler produces the version that actually ships. Full explanation.
TC39 Stage
A number from 0 to 4 marking how far a proposed JavaScript feature has progressed, from a rough idea (stage 0) to a finished, engine-tested part of the language (stage 4). Only stage 4 proposals make that year's release. Full explanation.
Keep this page open in another tab for the first few posts. Once these words stop needing a second look, you won't need it anymore.