Я пытаюсь добавить метод, который принадлежит классу, расширяющему массивы device
с помощью Typescript (3.7.5).
export class devices extends Array<device> {
constructor(items?:Array<device>) {
super(...items);
}
getDeviceByUid(uid: number): device {
return this.filter(elmt => elmt.uid == uid)[0];
}
}
Но мне также нужно иметь возможность объявлять и определять пустой массив, как я сделал бы с обычным массивом:
unfilteredDeviceList: devices = []; //error : Property 'getDeviceByUid' is missing in type 'undefined[]' but required in type 'devices'.
Итак, я попытался так: unfilteredDeviceList: devices = new devices();
Я не получаю ошибок во время компиляции, когда делает последнее, но во время выполнения: Error: Uncaught (in promise): TypeError: super is not iterable (cannot read property Symbol(Symbol.iterator))
Как можно объявить и определить расширенный пустой массив, или что я должен изменить в конструкторе?