shakiriker
@shakiriker

Oтличие наследования Object.setPrototypeOf() vs Object.create?

Я знаю два способа наследовать конструктор функции.

Вариант 1 Object.create

function x(x, y) {
  this.x = x;
  this.y = y;
}

x.prototype.XDD = function() {};


function y(c, r) {
  x.call(this, 1, 2);
  this.r = r;
  this.c = c;
}

y.prototype = Object.create(x.prototype);
y.prototype.YDD = function() {};
y.prototype.XDD = function() {};
y.prototype.constructor  = y;

var rect = new y(1, 2);


Вариант 2 Object.setPrototypeOf ()

function x(x, y) {
  this.x = x;
  this.y = y;
}

x.prototype.XDD = function() {};

function y(c, r) {
  x.call(this, 1, 2);
  this.r = r;
  this.c = c;
}

y.prototype.YDD = function() {};
y.prototype.XDD = function() {};
Object.setPrototypeOf(y.prototype, x.prototype);

var rect = new y(1, 2);


Каковы различия между ними ?. И есть другое решение лучше, чем эти ?
  • Вопрос задан
  • 92 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ArgeoMer
632223c369789495862527.jpeg
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы