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

Есть ли ООП в JavaScript

Да, JavaScript поддерживает ООП, но реализация отличается от классических ООП-языков (C++, Java). В JS используется прототипное наследование, а не классы (хотя синтаксис class добавлен в ES6 для удобства).

Пример с прототипами:

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);
Dog.prototype.constructor = Dog;
Dog.prototype.speak = function() {
console.log(${this.name} barks.);
};

const dog = new Dog('Rex');
dog.speak(); // "Rex barks."

text

Пример с классами (ES6+):
```javascript
class Animal {
  constructor(name) {
    this.name = name;
  }
  speak() {
    console.log(`${this.name} makes a noise.`);
  }
}

class Dog extends Animal {
  speak() {
    console.log(`${this.name} barks.`);
  }
}

const dog = new Dog('Rex');
dog.speak(); // "Rex barks."

Основные концепции ООП в JS:

  • Инкапсуляция (через замыкания или private-поля)
  • Наследование (через прототипы или extends)
  • Полиморфизм (переопределение методов)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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