enum Color {
Red = "red",
Green = "green",
Blue = "blue"
}
interface IShape {
color: Color;
getSpace(): number;
}
type Point = [number, number];
interface IRectangle extends IShape {
a: Point;
b: Point;
c: Point;
d: Point;
}
interface Triangle extends IShape {
a: Point;
b: Point;
c: Point;
}
я начинал со статически типизированных языков и тс мне кажется интуитивным