function Parent1(){ }
function Child1(){ }
Child1.prototype = new Parent1();
const child1 = new Child1()
function Parent2(){ }
function Child2(...args){
Parent2.call(this,...args)
}
const child2 = new Child2(1)
function Parent3(){ }
function Child3(...args){
Parent3.call(this,...args)
}
Child3.prototype = Object.create(Parent3.prototype)
Child3.prototype.constructor = Child3
const child3 = new Child3(1)
const Parent4_1 = {prototype:'value',method(){ } }
const Child4_1 = Object.create(Parent4_1)
const Parent4_2 = {prototype:'value',method(){ } }
function create4(obj){
function F(){ }
F.prototype = obj;
return new F()
}
const child4 = create4(Parent4_2)
function Parent5(){ }
function Child5(...args){
Parent5.call(this,...args)
}
function create5(obj){
function F(){ }
F.prototype = obj
return F()
}
function extend5(Child,Parent){
const clone = create5(Parent.prototype)
clone.constructor = Child;
Child.prototype = clone;
}
extend5(Child5,Parent5)
const child5 = new Child5(1)
class Parent6 {
constructor(property){
this.property = property
}
method(){ }
}
class Child6 extends Parent6{
constructor(property){
super(property)
}
}
console