Я хотел бы создать класс ES6, который может читать его дочерние свойства уже на уровне конструктора.Другими словами, я хотел бы передать эти спецификации:
class Collection {
model = 'model';
constructor() {
// I JUST DO A SIMPLE ASSIGNMENT HERE
// BUT IN THE FINAL VERSION I WOULD
// LIKE TO DO SOME MORE ADVANCED
// CALCULATIONS HERE
this.modelCopy = this.model;
}
getModel() {
return this.model;
}
}
class MyCollection extends Collection {
model = 'myModel';
}
it('this is passing', () => {
expect(new Collection().getModel()).toBe('model');
expect(new MyCollection().getModel()).toBe('myModel');
});
it('this is NOT passing', () => {
expect(new Collection().modelCopy).toBe('model');
// this fails because new MyCollection().modelCopy === 'model'
expect(new MyCollection().modelCopy).toBe('myModel');
});