[typescript] 유니온 타입으로 switch 문을 간결하게 처리할 수 있나요?
예를 들어, 다음은 유니온 타입과 switch 문을 사용하여 간단한 예제를 보여줍니다.
type Shape = "circle" | "square" | "triangle";
function getArea(shape: Shape, size: number): number {
switch (shape) {
case "circle":
return Math.PI * Math.pow(size / 2, 2);
case "square":
return Math.pow(size, 2);
case "triangle":
return (Math.sqrt(3) / 4) * Math.pow(size, 2);
default:
throw new Error("Unsupported shape");
}
}
console.log(getArea("circle", 5)); // Output: 19.634954084936208
console.log(getArea("square", 5)); // Output: 25
console.log(getArea("triangle", 5)); // Output: 10.825317547305485
위 예제에서는 Shape
유니온 타입을 정의하고, switch
문을 사용하여 각 도형에 따른 넓이를 계산하는 함수를 구현했습니다.
이를 통해 유니온 타입을 사용하여 switch 문을 간결하게 처리할 수 있음을 확인할 수 있습니다.