intermediate
Классы и конструкторы
Синтаксис классов поверх прототипов, правила конструкторов, поля, наследование и private members.
Классы — синтаксический сахар над прототипами со строгими правилами. `extends` и `super` настраивают наследование. Производный конструктор должен вызвать `super()` до использования `this`.
Методы на прототипе (общие). Стрелочные поля класса создают функцию на экземпляр. Private fields (`#id`) — не обычные свойства.
Классы JavaScript отличаются от Java/C#: нет настоящей приватности без `#`, нет перегрузки, методы не привязаны автоматически.
На интервью объясняйте концепцию на конкретном примере и называйте поведение рантайма, которое проверяют.
Типовые ошибки: путать похожие API и забывать edge cases в live coding.
Компромисс часто между ясностью и производительностью или между безопасностью и удобством.
Чеклист:
- Упомяните разделение методов на прототипе.
- Вызывайте super до this в производных конструкторах.
- Привязывайте методы или используйте поля осознанно.