ES6 Classes and Inheritance
The class syntax as syntactic sugar over prototype-based inheritance, including extends, super, and static members.
ES6 classes gave JavaScript a familiar, class-like syntax for defining objects and inheritance, but it's important to understand — and interviewers will ask — that this is purely syntactic sugar over the same prototype chain mechanism that existed before, not a fundamentally new object model. Classes make constructor functions and prototype method assignment more readable, without changing what's actually happening underneath.
ES6 classes are like a nicer, pre-printed form for something you could always do with a blank sheet of paper (constructor functions and manual prototype linking) — the form is easier to fill out correctly, but it produces the exact same filing structure underneath.