Есть код ,и у меня возникают сомнения в его првильности. А именно в ф-ции getCounter, мы определяем ф-цию let counter, в которой в последующем определяем свойства, не вызывая её в самой ф-ции getCounter , так вот ,можно ли так для функции задавать свойства, не зная еще что она вернёт. И что делает
<counter>
перед функцией в данном примере?
interface Counter {
(start: number): string;
interval: number;
reset(): void;
}
function getCounter(): Counter {
let counter = <counter>function (start: number) { };
counter.interval = 123;
counter.reset = function () { };
return counter;
}
let c = getCounter();
c(10);
c.reset();
c.interval = 5.0;
</counter>