ES5
function SuperClass() {
this.superValue=true;
}
SuperClass.prototype.getSuperValue=function () {
return this.superValue;
}
function SubClass() {
this.subValue=false;
}
SubClass.prototype=new SuperClass();
SubClass.prototype.getSubValue=function () {
return this.subValue;
}
var instance=new SubClass();
console.log(instance.getSuperValue());
console.log(instance.getSubValue());
console.log("-------------")
ES6
class SuperClass2{
constructor(){
this.superValue=true;
}
getSuperValue(){
return this.superValue;
}
}
class SubClass2 extends SuperClass2{
constructor(){
super();
this.subValue=false;
}
getSubValue(){
return this.subValue;
}
}
let sub=new SubClass2("subclass");
console.log(sub.getSubValue());
console.log(sub.getSuperValue());