проблема в том, что я не вижу разницы, когда мы хотим установить наследование, между этими двумя методами:
Child.prototype = Object.create( Father.prototype );
Child.prototype.constructor = Child;
и:
Child.prototype.__proto__ = Father.prototype;
Первый вариантпозволяет нам получить все свойства и методы, которыми делится наш Отец, но при этом перезаписывает конструктор Child.Вот что нам нужно, чтобы снова установить конструктор Child в Child.Второй метод делает то же самое, но без перезаписи.Итак, почему люди / гиды не используют второй вариант?Я что-то не так?
Это полный пример:
function Father( name ) {
this.name = name;
}
Father.prototype.getName = function() {
console.log( this.name );
}
function Child( name, lastName ) {
Father.call( this, name );
this.lastName = lastName;
}
Child.prototype.__proto__ = Father.prototype;
//Child.prototype = Object.create( Father.prototype );
//Child.prototype.constructor = Child;
var c = new Child( 'Will' , 'Travolta');
c.getName();