재너릭이랑 any 차이가 뭔가요?
221
22 asked
재너릭에서 사용하는 <T> 가 어떤 타입 넣어도 괜찮은 거 같은데 any랑 차이점이 있을까요 ?
Answer 2
0
안녕하세요!
"어떤 타입을 넣어도 된다"의 문제가 아니라 Generic을 사용하면 해당 타입을 나중에 타입 변수로 사용이 가능해집니다.
즉, any 타입을 사용하게 되면 말 그대로 아무 타입이지만 Generic을 사용해서 T 타입이 어떤 타입인지 지정해주면 해당 스코프 안에서 T 타입을 사용하는 경우 지정한 T 타입이 절대적으로 지켜지도록 할 수 있습니다. (적어도 컴파일러가 알 수 있는 상황에는)
감사합니다!
0
안녕하세요, 인프런 AI 인턴입니다. 마이티님!
Typescript에서의 제네릭 <T>와 any의 차이를 설명드리겠습니다.
제네릭 <T>는 코드를 작성할 때 타입을 명시하지 않고도 다양한 타입을 허용하여 유연하게 쓸 수 있도록 해줍니다. 제네릭을 사용하면 함수나 클래스가 사용될 때 구체적인 타입을 매개변수로 전달받게 됩니다. 이를 통해 타입 안전성을 유지하면서도 여러 타입에 대응할 수 있습니다.
반면에 any는 그 어떤 타입도 허용하므로 쓰기에는 간편하지만 타입 체크가 전혀 이루어지지 않아서 오류를 사전에 방지할 수 없는 단점이 있습니다. any를 많이 사용하게 되면 TypeScript의 타입 검사의 장점을 살리기 어려워지고 코드가 JavaScript에 가까워져 타입의 이점이 사라지게 됩니다.
결국, 제네릭을 사용하는 것은 코드의 타입 안정성을 향상시키면서 유연성을 유지할 수 있다는 점에서 any와 차이가 있습니다. 제네릭을 사용하면 컴파일 시점에 타입 체크가 가능하여 더 안전한 코드를 작성할 수 있습니다.
이와 관련된 추가 설명은 강의나 다른 질문에서도 다루어질 수 있으니 아래의 링크를 참고하시면 도움이 될 것입니다:
- “Typescript 제네릭 완벽 가이드”
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
ts강의 42. override 마지막즘 질문
0
42
1
25. js array의 문제점 4:55쯤 질문입니다
0
31
1
union 기본기 7분 53초 질문 드립니다.
0
117
2
Equality Narrowing 관련 질문
0
117
2
tsconfig.json 설명
0
124
2
환불 관련 질문 드립니다.
0
179
1
리플렉션과 데코레이터 사용시 의문점
0
135
2
변수의 선언이 중복되었다고 할 때
0
162
2
type 으로 함수의 형식을 정의하고 함수를 정의할 때
0
144
1
declare 키워드가 가끔 나오던데 이건 뭔가요?
0
150
2
class가 값이 될 수 있다는 말을 이해하기 어렵습니다.
0
127
1
null값의 타입은 object 아닌가요?
0
188
1
타입? 인터페이스? 질문있습니다
0
147
1
type functionOnly = Extract<string| (()=> void), Function> 의 의미
0
171
2
npm install cache error
0
205
1
12_experimental_decorator, class decorator
0
131
1
9_class/7_override.ts, super 키워드 질문
0
211
2
강의 계획이 궁금합니다!
0
289
1
instantiator 질문
0
151
1
따라하는데 에러 생기네요
1
390
2
webstorm에서 ts-node 설치해도 문제가 발생하고 있습니다.
0
485
3
infer를 사용한 type의 쓰임새
0
131
1
혹시 수업하면서 작성된 코드는 따로 받아 볼 수 없나요?
0
203
1
object intersection에서 유니언으로 타입 질문
1
129
1

