Closed hyeyoonS closed 3 months ago
#9 문제의 저의 답변에서 아래 예시는 제네릭이 굳이 필요없는 상황입니다. 왜냐하면 높은 확률로 데이터의 타입이 number로 고정되어 있기 때문입니다. 이런 경우에는 제네릭을 사용하여 코드를 복잡하게 만들기 보다 number 타입을 명시적으로 사용하는 것이 좋습니다.
interface CalculatorProps<T> {
add: (a: T, b: T) => T
}
불필요한 코드의 반복
type Gtype<T> = T;
type RequirementType = "USE"|"UN_USE"|"NON_SELECT";
interface Order {
gerRequirement():Gtype<RequirementType>
};
⇒ 아래 코드로 바꿀 수 있습니다.
type RequirementType = "USE"|"UN_USE"|"NON_SELECT";
interface Order {
gerRequirement():RequirementType;
};
제네릭으로 any타입 사용하기
type ReturnType<T = any> {
//...
}
❓문제
제네릭을 굳이 사용하지 않아도 되는 경우를 예시코드와 함께 설명해주세요!
🎯답변 요약
제네릭을 사용함으로써 불필요한 코드를 늘리고, 사실상 사용의 의미가 없는 경우
🎯답변
1. 제네릭 선언으로 불필요한 코드 증가 #9 문제의 저의 답변에서 아래 예시는 제네릭이 굳이 필요없는 상황입니다. 왜냐하면 높은 확률로 데이터의 타입이 number로 고정되어 있기 때문입니다. 이런 경우에는 제네릭을 사용하여 코드를 복잡하게 만들기 보다 number 타입을 명시적으로 사용하는 것이 좋습니다.
2. 제네릭으로 any타입 사용하기
any 타입은 모든 타입을 허용하기 때문에 타입을 명시하지 않은 것과 같습니다.