Constraints value, Specifying Type Arguments

YOUNGJOO-YOON·2021년 8월 24일
0

typeScript

목록 보기
34/65

Constraints

= 타입 강요하기


function longest<Type extends { length:number }>(a: Type, b:Type){
	if(a.length>=b.length){
		return a;
	}else{
		return b;
	}
}

위 문법을 보게 되면 generic을 확장해 length 속성을 강제해주었다.

위 함수의 인자는 length method를 사용할 수 없는 경우 에러를 일으키게 된다.

Specifying Type Arguments

= generic 을 명시해주기



function combine<Type>(arr1:Type[],arr2:Type[]):Type[]{
	return arr1.concat(arr2);
}

console.log(combine([1,2,3],[4,5,6])); // [1,2,3,4,5,6]

위 문법은 하나의 generic type을 받고 같은 두 배열을 받아 하나의 배열을 return 한다.

위 함수는 combine([1,2],['happy'])을 받으면 에러를 일으키게 된다.
위 경우 아래와 같이 generic을 확실히 명시해주면 함수는 실행된다.


combine<number|string>([1,2],['happy']) // [1,2,'happy']
profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글