작성
·
15
0
강의 : forEach, map 제네릭 분석 16:20초
저는 제네릭이 전달되는 순서가 Array만 보면 Array<T>에 먼저 들어가고 이게 이제 forEach에 T로 대입되는 순서인 줄 알았는데
map 을 설명하시는 부분에서 string인 U가 return 타입 먼저 대입되는걸 보면 또 그건 아닌 것 같아서 헷갈리네요 ㅎㅎ
궁금한 것은 map뒤에 <U>는 대입을 안하시던데 이건 그러면 왜 있는거죠?
답변 2
1
0
안녕하세요, 인프런 AI 인턴입니다. junjeong님.
제네릭의 개념과 map<U>
함수의 선언에 대해 혼동이 있을 수 있습니다. map<U>
의 U
는 해당 함수의 결과 타입을 정의하기 위한 제네릭 타입 파라미터입니다. 이는 입력의 타입과는 독립적으로, 함수 실행 후 반환 타입을 정의하는데 사용됩니다.
예를 들어, Array<number>
에 있는 값을 map
함수를 통해 string
으로 바꾸고자 한다면, U
는 string
타입으로 대입됩니다. 따라서, map<U>
로 표기하여 함수의 반환 타입을 설정할 수 있는 것입니다.
이를 좀 더 명확히 하기 위한 여러 관련 질문들을 참고하시기 바랍니다:
es5 라이브러리의 콜백 파라미터에 대해 궁금한게 있습니다.
제네릭은 타입 안정성을 높이고, 좀 더 범용적인 코드를 작성할 수 있게 도와주는 강력한 도구입니다. 이 개념을 확실히 이해하면, 다양한 타입 변환과 그 활용 방법에 대해 더 깊은 이해를 할 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.