Solución

@estouchedisindo·17/5/2026TypeScript
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
  console.log(typeof shape.kind)
  // 'kind' es la prop. discriminante y los if(condición son nuestros
  // GUARDIANES DE TIPO
  if(shape.kind === "circle") {
    return shape.radius ** 2 * Math.PI
  }

   if(shape.kind === "square") {
    return shape.side ** 2
  }

  return 0;
}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.