개발자
코드 첨부했습니다. 오늘 다른사람이 작성한 코드를 보는데 저런 문법이 있던데 어떻게 되는건지 궁금해서요. 함수의 x의 입력받는 타입이 T고 return 타입이 T여야하는건 이해가 되는데 <>속에 있는 T는 무엇인가요?
1function example1<T>(x: T): T {
2 return x;
3}
답변 2
typescript generic에 관련된 내용인 것 같네요 아래 문서 한번 참고해 보세요 https://www.typescriptlang.org/ko/docs/handbook/2/generics.html 위의 함수를 실행할때는 example1<string>('hi') 이런식으로 입력받는 x의 값을 정할 수 있습니다. 화살표 함수로는 첨부한 코드처럼 쓸 수 있어요.
1const example2 = <T>(x: T): T => x;
이 문법은 TypeScript의 제네릭(generic)을 사용한 함수입니다. 제네릭은 함수나 클래스에서 재사용 가능한 컴포넌트를 작성할 때 사용하는 기능입니다. ' <T> '는 타입 변수(type variable)를 나타냅니다. 여기서 ' T '는 일반적으로 타입(type)을 의미하는 Type의 약자로 사용되지만, 실제로는 어떤 문자든 상관 없습니다. #1 제네릭을 사용하면 함수나 클래스가 여러 타입에 동작할 수 있게 됩니다. 예를 들어, ' example1 ' 함수에서 ' <T> '는 입력받는 타입과 반환 타입이 동일하다는 것을 나타냅니다. #2 함수를 사용하면 다양한 타입의 인수를 전달할 수 있습니다. 이렇게 제네릭을 사용하면 함수를 작성할 때 구체적인 타입에 의존하지 않아도 되고, 호출하는 쪽에서 필요한 타입을 지정할 수 있습니다. 이를 통해 코드의 재사용성과 유연성이 높아집니다.
1#1
2function example1<T>(x: T): T {
3 return x;
4}
5
6#2
7let num = example1<number>(42); // num은 number 타입
8let str = example1<string>('Hello'); // str은 string 타입
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!