Generic 을 알아볼까

2022. 8. 1. 22:43기본기가 부족하다면/자바스크립트

Generic은

  • Generic은 어떤 클래스 혹은 함수에서 사용할 타입을 그 함수나 클래스를 사용할 때 결정하는 프로그래밍 기법을 말한다.

라고들 설명하고 있는데, 글만 들어서 이해 안됨 예시 ㄱㄱ

 

아래와 같이 쓴다.

 

내 눈높이에 맞는 이해력을 갖춘 해석으로 하자면,

getLength 뒤에 <T> 를 선언해줌으로써 generic 으로 사용가능.

근데, T(Type parameter) 말고 아무거나 써도됨(튀고 싶다면 ㅇㅇ). 그냥 T를 많이 쓴다고 함(묻어가기를 위해 보편적인거 선택하자)

그담, arr(매개변수) 의 타입은 T(Type parameter) 와 이름을 맞추셈

 

arr1 : 나 숫자배열임~

arr2 : 나 문자배열임~

arr3 : 나 boolean배열임~

arr4 : 나 객체배열임~

getLength : 드루와, 다 받아줌.

                     arr1 은 숫자배열이라고? ㅇㅋ 그럼 나도 type parameter 를 숫자로 받아줌 ㅇㅇ. (이하동문임)

 

function getLength<T>(arr : T[]) : number {
	return arr.length;
}

const arr1 = [1,2,3];
getLength(arr1); 		// = getLength<number>(arr1)

const arr2 = ["a","b","c"];
getLength(arr2); 		// = getLength<string>(arr1)

const arr3 = [false, true, false];
getLength(arr3); 		// = getLength<boolean>(arr1)

const arr4 = [{ a : "a"}, {}, { b : "b" }];
getLength(arr4); 		// = getLength<object>(arr1)
반응형

'기본기가 부족하다면 > 자바스크립트' 카테고리의 다른 글

[예외처리] Promise, async & await  (0) 2022.12.14
가비지 컬렉터  (0) 2022.12.08
메모리 관리  (0) 2022.12.08
실행 컨텍스트 (Execution Context)  (1) 2022.12.08
객체와 배열은 참조형  (0) 2022.08.01