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

В чем разница между организации ООП в JavaScript от других языков программирования

В JavaScript ООП реализовано на основе прототипов, а не классов (хотя синтаксис class добавлен в ES6). Основные отличия:

  1. Прототипное наследование – объекты наследуют свойства и методы от других объектов через цепочку прототипов (__proto__), а не через классы.
javascript
function Animal(name) {
  this.name = name;
}
Animal.prototype.speak = function() {
  console.log(`${this.name} makes a noise`);
};

function Dog(name) {
  Animal.call(this, name);
}
Dog.prototype = Object.create(Animal.prototype);
  1. Динамичность – можно добавлять/удалять свойства и методы объектам и прототипам во время выполнения.

  2. Отсутствие классических модификаторов доступа (private, protected), хотя есть соглашения (например, _privateField) и современные возможности (символы, замыкания, #privateField в ES2022).

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

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

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

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