var A = {
methodA: function () { console.log('methodA from object A'); }
}
var B = {
do: function () { this.methodA(); }
};
Object.setPrototypeOf(B, A);
var obj = Object.create(B);
// obj.__proto__.__proto__ === A
obj.do(); // methodA from object A
function A() {}
A.prototype.methodA = function () { console.log('methodA from object A'); }
function B() {};
B.prototype = Object.create(A.prototype);
B.prototype.methodA = function () { A.prototype.methodA(); }
var obj = new B();
// obj.__proto__.__proto__ === A.prototype
obj.methodA(); // methodA from object A