Suzie's Blog

[TypeScript] 제네릭 함수(Generic Functions) 이해하기 본문

개발/JavaScript

[TypeScript] 제네릭 함수(Generic Functions) 이해하기

Iuna 2025. 4. 27. 10:02
반응형
SMALL

TypeScript 제네릭 함수란?

TypeScript 에서 제네릭 함수는 다양한 타입에 대해 작업할 수 있는 함수.
제네릭을 사용하면 함수의 입력과 반환값의 타입을 유동적으로 정의 가능 -> 코드의 재사용성과 유지 보수성을 높이는데 큰 도움이 됨.
제네릭 함수 특징 : 타입을 미리 알지 못해도, 함수가 어떤 타입을 다룰지 코드가 실행되는 시점에 결정 가능.

예 : 함수의 매개변수나 반환값의 타입을 동적으로 처리하고 싶을 때 제네릭 사용. 제네릭은 타입 매개변수로 T와 같은 플레이스홀더를 사용하여 타입을 동적으로 정의

function identity<T>(value: T):T {
	return value;
}

let result = identity(5); // result는 'number' 타입
let result2 = identity("hello"); // result2 는 'string' 타입

제네릭 함수의 장점

- 재사용성 증가 : 제네릭을 사용하면 같은 함수를 여러 타입에 대해 재사용 가능. 타입을 다르게 해서 여러 상황에 동일한 로직 하용 가능
- 타입 안전성 : 제네릭을 사용하면 함수가 처리할 수 있는 타입을 명확히 정의 가능. 잘못된 타입을 전달했을 때 오류 사전 방지 가능
- 유지보수 용이 : 코드가 더 유연해짐. 나중에 타입 변경 되도 코드 수정 용이

결론 : 예전에 TypeScript가 JavaScript에 비해 불편하다고 느꼈던 이유가 바로 이 제네릭함수의 존재 여부를 몰랐을 때였던거 같다. 제네릭 함수 덕분에 타입을 동적으로 처리 가능하고, 이 방식이 코드 유연성, 안전성 높일 수 있다는거 알게되니 TypeScript가 더 효율적이고 강력한 언어로 느껴짐! 

반응형
LIST

'개발 > JavaScript' 카테고리의 다른 글

[TypeScript] as const란?  (0) 2025.04.28
[Quiz] 이벤트 루프 (Event Loop) 문제  (0) 2025.03.04
[Quiz] 비동기 처리 문제  (0) 2025.02.28
[Quiz] 스코프(Scope) 관련 문제  (0) 2025.02.27
[Javascript] findIndex  (0) 2023.06.02