32 lines
684 B
JavaScript
32 lines
684 B
JavaScript
class SuperBase {
|
|
m() { return 40; }
|
|
get x () { return this.baseX; }
|
|
set x (value) { this.baseX = value; }
|
|
constructor() {
|
|
this.baseC = 2;
|
|
this.baseX = 4;
|
|
}
|
|
}
|
|
|
|
class SuperDerived extends SuperBase {
|
|
m() { return 41; }
|
|
superM() { return super.m(); }
|
|
superX() { return super.x; }
|
|
constructor() {
|
|
this.x = 10;
|
|
this.derC = 3;
|
|
super();
|
|
}
|
|
}
|
|
|
|
// ----------------------------------------------------------------------------
|
|
|
|
var obj = new SuperDerived();
|
|
assert.equal(41, obj.m());
|
|
assert.equal(40, obj.superM());
|
|
assert.equal(4, obj.baseX);
|
|
assert.equal(4, obj.x);
|
|
assert.equal(4, obj.superX());
|
|
assert.equal(2, obj.baseC);
|
|
assert.equal(3, obj.derC);
|