TS generic

효딩딩·2022년 8월 23일
0

제너릭이란 무엇인가?

  • 제네릭 (Generic) 이란 데이터의 타입을 일반화한다(generalize)한다는 것을 뜻한다.
  • 제네릭은 어떠한 클래스 혹은 함수에서 사용할 타입을 그 함수나 클래스를 사용할 때 결정하는 프로그래밍 기법을 말한다.
  • 타입의 유연성이란 :string, :number 등과 같이 고정된 타입이 아닌 사용에 따라 여러 타입을 사용하게 해준다는 것이다.

왜 제네릭을 써야하는가?

  • Generic은 자료형을 정하지 않고 여러 타입을 사용할 수 있게 해준다.
  • 선언 시점이 아니라 생성 시점에 타입을 명시하여 하나의 타입만이 아닌 다양한 타입을 사용할 수 있도록 하는 기법이다.
  • 한번의 선언으로 다양한 타입에 '재사용'이 가능하다는 장점이 있다.

제네릭을 쓰지 않을 경우

  • 불필요한 타입 변환을 하기 때문에 프로그램의 성능에 악영향을 미치기도 하는데, 제네릭을 사용하게되면 따로 타입 변환을 할 필요가 없어서 프로그램의 성능이 향상되는 장점이 있다.

제네릭을 사용하지 않는다면?

1) 타입을 미리 지정하거나
2) any를 이용하여 구현할 수 있다.

  • 타입을 미리 지정하자면, 확실한 타입체크가 이뤄질 수 있겠지만 항상 number라는 타입을 받아야하므로 범용성이 떨어진다.
  • 그렇다고 any를 사용한다면 자료의 타입을 제한할 수 없을 뿐더러, 이 function을 통해 어떤 타입의 데이터가 리턴되는지 알 수 없다.

이런 경우에 사용할 수 있는 것이 제네릭이다.

출처:
https://velog.io/@mokyoungg/TS-%EC%A0%9C%EB%84%88%EB%A6%ADGeneric
https://hyunseob.github.io/2017/01/14/typescript-generic/
https://velog.io/@edie_ko/TypeScript-Generic-%EC%A0%9C%EB%84%A4%EB%A6%AD-feat.-TypeScript-%EB%91%90-%EB%8B%AC%EC%B0%A8-%ED%9B%84%EA%B8%B0

(영문)

  • Generics allow creating 'type variables' which can be used to create classes, functions & type aliases that don't need to explicitly define the types that they use.
  • Generics makes it easier to write reusable code.
  • Generics with functions help make more generalized methods which more accurately represent the types used and returned.

Source: https://www.w3schools.com/typescript/typescript_basic_generics.php

profile
어제보다 나은 나의 코딩지식

0개의 댓글