Встречается на собеседованиях • сегодня

Какие плюсы и минусы классов в JavaScript

Плюсы:

  • Четкая структура и инкапсуляция логики
  • Наследование через extends (проще, чем прототипы)
  • Поддержка статических методов и свойств
  • Более понятный синтаксис для разработчиков из ООП-языков

Минусы:

  • Под капотом все равно работают прототипы (может вводить в заблуждение)
  • Нет настоящих приватных полей (до #-полей нужны костыли)
  • Поднятие (hoisting) работает иначе, чем у функций
  • Сложности с this в колбэках (как и в функциях)
javascript
class Animal {
  constructor(name) {
    this.name = name;
  }
  
  speak() {
    console.log(`${this.name} makes a noise`);
  }
}

// Наследование
class Dog extends Animal {
  speak() {
    super.speak(); // вызов родительского метода
    console.log(`${this.name} barks`);
  }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы