hellojs.ru
Главная - Основы JavaScript - Основы ООП, прототипно-ориентированное наследование

Основы ООП, прототипно-ориентированное наследование

Размещено в категории "Основы JavaScript"
27.09.2024 / просмотров: 39 / комментариев: 0
Ресурсы:

Про __proto__
Наследование без __proto__




Базовый объект:
Код

const soldier = {
  health: 400,
  armor: 100,
  sayHello: function () {
  console.log('Hello');
  }
};  

Другой объект:
Код

const john = {
  health: 100
};

Старый синтаксис наследования:
Код

john.__proto__ = soldier;

Объект john наследует свойства и методы от объекта soldier
Код

console.log(john.armor); // 100
john.sayHello(); // Hello

Новый синтаксис:
Код

Object.setPrototypeOf(john, soldier);

Эта запись идентична записи выше. Это случай, когда объект john уже существовал и мы просто установили ему прототип soldier.

Но зачастую все это делается на этапе создания объекта:
Код

const john = Object.create(soldier);

Мы создали новый объект john, который будет прототипно наследоваться от soldier.
Код

const soldier = {
  health: 400,
  armor: 100,
  sayHello: function () {
  console.log('Hello');
  }
};

const john = Object.create(soldier);

console.log(john.armor); // 100
john.sayHello(); // Hello
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
Сайт управляется системой uCoz