Solución
solution.tsTypeScript
interface Circle {
kind: "circle";
radius: number;
}
interface Square {
kind: "square";
side: number;
}
type Shape = Circle | Square;
export function getArea(shape: Shape): number {
// Examina la propiedad discriminante para determinar la figura
// y calcula el área correspondiente
switch(shape.kind){
case "square": return shape.side * shape.side;
case "circle": return shape.radius * shape.radius * Math.PI;
default: return -1
}
}0respuestas