인프런 커뮤니티 질문&답변

마이티님의 프로필 이미지
마이티

작성한 질문수

[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스

Generic in Function (함수에서 제너릭 사용하기)

재너릭이랑 any 차이가 뭔가요?

작성

·

14

0

재너릭에서 사용하는 <T> 가 어떤 타입 넣어도 괜찮은 거 같은데 any랑 차이점이 있을까요 ?

답변 2

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

"어떤 타입을 넣어도 된다"의 문제가 아니라 Generic을 사용하면 해당 타입을 나중에 타입 변수로 사용이 가능해집니다.

즉, any 타입을 사용하게 되면 말 그대로 아무 타입이지만 Generic을 사용해서 T 타입이 어떤 타입인지 지정해주면 해당 스코프 안에서 T 타입을 사용하는 경우 지정한 T 타입이 절대적으로 지켜지도록 할 수 있습니다. (적어도 컴파일러가 알 수 있는 상황에는)

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 마이티님!

Typescript에서의 제네릭 <T>any의 차이를 설명드리겠습니다.

제네릭 <T>는 코드를 작성할 때 타입을 명시하지 않고도 다양한 타입을 허용하여 유연하게 쓸 수 있도록 해줍니다. 제네릭을 사용하면 함수나 클래스가 사용될 때 구체적인 타입을 매개변수로 전달받게 됩니다. 이를 통해 타입 안전성을 유지하면서도 여러 타입에 대응할 수 있습니다.

반면에 any는 그 어떤 타입도 허용하므로 쓰기에는 간편하지만 타입 체크가 전혀 이루어지지 않아서 오류를 사전에 방지할 수 없는 단점이 있습니다. any를 많이 사용하게 되면 TypeScript의 타입 검사의 장점을 살리기 어려워지고 코드가 JavaScript에 가까워져 타입의 이점이 사라지게 됩니다.

결국, 제네릭을 사용하는 것은 코드의 타입 안정성을 향상시키면서 유연성을 유지할 수 있다는 점에서 any와 차이가 있습니다. 제네릭을 사용하면 컴파일 시점에 타입 체크가 가능하여 더 안전한 코드를 작성할 수 있습니다.

이와 관련된 추가 설명은 강의나 다른 질문에서도 다루어질 수 있으니 아래의 링크를 참고하시면 도움이 될 것입니다:
- “Typescript 제네릭 완벽 가이드”

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

마이티님의 프로필 이미지
마이티

작성한 질문수

질문하기