· 3 min read

JavaScript ES6+ Features: Learn 110 Flashcards Sorted by ECMAScript Year

Learn JavaScript ES6+ with 110 flashcards: let/const, arrows, destructuring, Promises, async/await, ?? and ?. — tagged by ECMAScript year, with 3 cards to fix.

Glowing curly braces and an arrow symbol beside a timeline, surrounded by floating flashcards

Studying. But it's also a video game. 🎮

Flashcards, quizzes and games that make you actually remember.

Start playing — it's free

Posted by

The JavaScript: ES6+ Features deck (code SW1185, 110 cards) on Flip It is a definition deck: one feature per front, one-line explanation plus a code sample on the back. It covers far more than ES6 — and the fastest way to learn it is to know which year each card belongs to.

Study this deck: JavaScript: ES6+ Features

1 / 10
Question

let vs var

Knew itLearning

Tap the card for the answer · swipe right if you knew it, left if not

Sample cards

FrontBack
let vs varlet has block scope and cannot be redeclared; var has function scope
Can you modify properties of an object declared with const?Yes, const prevents reassignment but not mutation
Arrow functionConcise syntax using => that lexically binds this
Destructuring with restconst {a, ...rest} = obj
Promise.allSettled()Waits for all Promises to settle and returns their results
Where can you use the await keyword?Only inside async functions (or at top level in modules)
Nullish coalescing (??)Returns the right operand when the left is null or undefined
Object.seal()Prevents adding/removing properties but allows changing existing ones
typeof null'object' (a known JavaScript quirk)

What you'll master

let, const, block scope, arrow functions and lexical this, template literals, array and object destructuring (with defaults and rest), spread, rest parameters, default parameters, property and method shorthand, computed property names, classes, constructor, extends, super, static methods, getters and setters, Promises and their three states, then/catch, async/await with try/catch, Promise.all / race / allSettled, import/export (named and default), for...of vs for...in, Map, Set, WeakMap, WeakSet, Symbol, generators and yield, Proxy, Reflect, Object.assign/keys/values/entries/freeze/seal, Array.from/of/find/findIndex/includes/entries/keys/values/isArray, startsWith, endsWith, repeat, padStart, padEnd, optional chaining, nullish coalescing, BigInt and the ** operator.

Tag every card with its ECMAScript year

"ES6+" hides a decade of releases. Adding the year to each hint turns a flat list into a timeline you can reason with — and tells you what an older runtime will reject:

  • ES2015 (ES6): let/const, arrows, classes, Promises, modules, Map/Set, Symbol, generators, Proxy/Reflect, for...of, Array.from, find
  • ES2016: Array.prototype.includes, **
  • ES2017: async/await, Object.values/entries, padStart/padEnd
  • ES2018: object rest/spread ({...object}, const {a, ...rest})
  • ES2020: ?., ??, BigInt, Promise.allSettled
  • ES2022: top-level await in modules

The second half re-asks the first

Roughly 30 of cards 61-110 repeat an earlier card in new words: const vs let, template literals, spread, rest, default parameters, Promise states, .then/.catch, Map, Set (cards 29 and 79 are word-for-word identical), Symbol, optional chaining, find/findIndex and every String method. Suspend the duplicates and keep what is genuinely new in the tail: cards 62-63, 74-75, 77-78, 80-81, 84, 91, 102-104 and 106-110.

Three cards to fix

  • Card 84 reads "|| vs ?" — the front should be || vs ??. Its back lists 0, '' and false as falsy; add null, undefined and NaN so the contrast with ?? is complete.
  • Card 107: Object.freeze() is shallow — nested objects stay mutable. Add that to the back.
  • Card 3: arrow functions also have no own arguments and cannot be called with new.

Write these missing cards

The deck stops at ES2020. Add: Array.prototype.flat/flatMap (ES2019), Promise.any, replaceAll and the logical assignment operators ??=, ||=, &&= (ES2021), .at() and private #fields (ES2022), and Object.groupBy (ES2024).

Building a front-end stack card by card? Pair this deck with our CSS box model, selectors and media queries study guide.

Ready to learn faster? 🚀

Join FLIP IT for free and turn studying into a game.

Create my free account