Что означает включение класса в угловые скобки «<>» в TypeScript?

Я очень новичок в TypeScript, и мне это очень нравится, особенно то, как легко сделать ООП в Javascript. Однако я застрял при попытке выяснить семантику, когда речь заходит об использовании угловых скобок.

Из их документов я видел несколько примеров, как

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;
}

а также

interface Square extends Shape, PenStroke {
    sideLength: number;
}

let square = <Square>{};

У меня возникают проблемы с пониманием того, что именно это означает или способ думать / понимать это.

Может ли кто-нибудь объяснить это мне?

Ответы на вопрос(2)

Ваш ответ на вопрос