Изменение свойства prototype после создания объекта ничего не изменит в самом объекте.
Для справки прочитайте первый ответ в этом посте:
stackoverflow.com/questions/7015693/how-to-set-the...
Что касается решения задачи:
Вариант 1:
prototypevar a = {k:7};
function B(h) {
this.h = h;
}
B.prototype = a;
var b = new B(5);
console.log(b.k); // 5
Вариант 2:
Object.createvar a = {k:5};
var b = Object.create(a, {h: { writable: true, configurable: true, value: 7 },});
console.log(b.k); // 5
Вариант 3:
ES2015class A {
constructor () {
this.k = 5;
}
}
class B extends A {
constructor(h) {
super();
this.h = h;
}
}
var b = new B(7);
console.log(b.k); // 5