30 lines
520 B
JavaScript
30 lines
520 B
JavaScript
var Animal = class {
|
|
sayHi() {
|
|
return 'Hi, I am a '+this.type()+'.';
|
|
}
|
|
|
|
static getName() {
|
|
return 'Animal';
|
|
}
|
|
};
|
|
|
|
var Dog = class extends Animal {
|
|
type() { return 'dog'; }
|
|
|
|
sayHi() {
|
|
return super.sayHi() + ' WOOF!';
|
|
}
|
|
|
|
static getName() {
|
|
return super.getName() + '/Dog';
|
|
}
|
|
};
|
|
|
|
expect(new Dog().sayHi()).toBe('Hi, I am a dog. WOOF!');
|
|
expect(Dog.getName()).toBe('Animal/Dog');
|
|
|
|
var count = 0;
|
|
var Cat = class extends (function(){ count++; return Animal; })() {};
|
|
|
|
expect(count).toBe(1);
|