제네릭(Generic)은 함수, 클래스, 타입 등을 다양한 타입과 함께 동작하도록 만들어주는 기능any나 unknown으로는 타입 안정성을 완전히 확보하기 어려움제네릭을 사용하면 입력된 타입에 따라 반환 타입을 자동으로 지정할 수 있음호출 시 직접 타입을 명시할 수도
제네릭은 타입의 재사용성과 정확성을 높이기 위해 사용됨타입 변수는 여러 개(T, U 등) 동시에 사용할 수 있음배열, 튜플 등 다양한 타입 구조에 활용 가능extends를 사용하면 타입 변수에 제한(제약 조건)을 걸 수 있음활용 방법에 따라 타입 추론 정확도와 타입 안
map과 forEach 메서드는 배열의 각 요소에 콜백을 적용하는 대표적인 고차함수map: 반환값을 기반으로 새로운 배열 생성forEach: 반환값 없이 순회 목적으로 사용타입스크립트에서는 제네릭 타입을 사용해 다양한 타입에 대응 가능map의 경우 원본 배열과 다른 타
제네릭은 인터페이스, 타입 별칭, 함수 등에 적용 가능제네릭 인터페이스는 다양한 타입을 유연하게 표현할 수 있음인덱스 시그니처, 유니온 타입, 조건 분기, 함수 매개변수 제한 등 실용도가 높음타입 추론은 불가하므로 반드시 타입 인자를 명시해야 함제네릭 인터페이스는 객체
먼저 제네릭이 아닌 간단한 Number 타입의 리스트를 생성하는 클래스를 정의합니다.StringList도 필요하다면 클래스 정의를 중복하게 됩니다.이렇게 되면 코드 중복이 심하고 유지보수도 어려워집니다.다음과 같이 제네릭을 적용해 다양한 타입의 리스트를 처리할 수 있는
Promise<T>는 제네릭 클래스로, resolve의 결과값 타입을 T로 설정할 수 있다.reject의 값은 타입을 지정할 수 없으며, 기본적으로 unknown이다.then() 메서드는 resolve 값을, catch() 메서드는 reject 값을 다룬다.함수의