tipos objeto herencia funciones datos clases arreglos typescript brackets

objeto - typescript herencia de clases



¿Qué significa encerrar una clase entre paréntesis angulares "<>" en TypeScript? (2)

Eso se llama aseveración de tipo o casting.

Estos son los mismos:

let square = <Square>{}; let square = {} as Square;

Ejemplo:

interface Props { x: number; y: number; name: string; } let a = {}; a.x = 3; // error: Property ''x'' does not exist on type `{}`

Así que puedes hacer:

let a = {} as Props; a.x = 3;

O:

let a = <Props> {};

Que hará lo mismo

Soy muy nuevo en TypeScript y me encanta mucho, especialmente lo fácil que es hacer OOP en Javascript. Sin embargo, estoy atascado en tratar de entender la semántica cuando se trata de usar corchetes angulares.

De sus documentos, he visto varios ejemplos como

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

y

interface Square extends Shape, PenStroke { sideLength: number; } let square = <Square>{};

Estoy teniendo problemas para entender lo que esto significa exactamente o la manera de pensar / entenderlo.

¿Podría alguien explicármelo por favor?