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

В чем разница между классом и функцией

Классы и функции в JS служат разным целям, хотя и могут использоваться для создания объектов.

Функции-конструкторы:

javascript
function Person(name) {
  this.name = name;
}
Person.prototype.greet = function() {
  console.log(`Hello, ${this.name}`);
};

Классы (синтаксический сахар):

javascript
class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    console.log(`Hello, ${this.name}`);
  }
}

Основные различия:

  1. Классы используют строгий режим по умолчанию
  2. Методы класса неперечислимы (enumerable: false)
  3. Классы нельзя вызывать без new
  4. Наследование проще через extends
  5. Есть статические методы (static)
  6. Приватные поля (#field) только в классах

Функции более гибкие, классы - более структурированный подход. Современный JS чаще использует классы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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