[08] Type Script Generic Function

HJ-C·2022년 4월 21일
0

TypeScript

목록 보기
8/9
post-thumbnail


Generic

(1) Generic 함수

메서드 매개변수의 구체적인 타입을 기재하기 않고 다양한 타입을 처리할 수 있는 기술이며 함수,인터페이스,클래스의 재사용성을 높일 수 있다

	function Def<T>(x:T[]) : T {
      return x[0];
    }

	let a = Def<number>([4,2])
    let b = Def<stirng>(['kim', 'choi'])
  • Generic 사용 시 내가 정한 타입을 return 값을 뱉는 함수를 제작가능한 것이다

(2) Generic 타입 제한(constraints)

  • extends 문법을 쓰면 넣을 수 있는 타입을 제한할 수 있다
  • interface의 extends와 다름
  • interface의 extends는 복사,확장이라면 Generic의 extends는 타입과 비슷한 속성을 가지고 있는지 if문으로 체크하는 문법
  • 제약 조건을 벗어나는 타입을 선언하면 에러 발생
	function Def<T extends number>(x:T) : number {
      return x - 1
    }
let a = Def<number>(100)

(3) Custom type extends

  interface lengthCheck {
    length : number
  }
  function Def<MyType extends lengthCheck>(x: MyType) {
    return x.length
  }

  let a = Def<string>('hello')  //가능
  let a = Def<number>(1234) //에러남
  • lengthCheck가 if문 역할로 length는 문자열만 받기에 는 오류 발생
profile
생각을 기록하자

0개의 댓글

관련 채용 정보