The language today.
WHAT MODULES PROVIDE
Splitting code into files, with explicit imports and exports.
WHY THAT MATTERS
Dependencies become visible, and nothing leaks into a shared global space.
WHAT DESTRUCTURING PROVIDES
Extracting values from objects and arrays concisely.
WHAT SPREAD AND REST PROVIDE
Copying and combining objects and arrays, and collecting arguments.
WHAT TEMPLATE STRINGS PROVIDE
Building text with embedded values, readably.
WHAT ARRAY METHODS PROVIDE
Transforming, filtering and reducing collections without loops.
WHY THOSE ARE PREFERABLE
They state intent, rather than describing mechanics.
WHAT OPTIONAL ACCESS PROVIDES
Reading nested properties safely, without checking each level.
WHY THAT MATTERS
Deeply nested data from external sources frequently has missing levels.
WHAT CLASSES PROVIDE
A clearer syntax for object-oriented patterns.
WHAT TO ADOPT
Modules, the modern variable declarations, array methods, and the asynchronous syntax.
WHAT TO BE CAREFUL WITH
Using very recent features without checking support Adopting patterns without understanding them
WHAT TO CHECK
Browser support for anything you rely on.