본문 바로가기
개발 언어/TypeScript

07 TypeScript - generic

by 우주다람쥐 2018. 4. 9.
반응형

7. generic

 

TypeScript에 추가된 generic에 대해 알아보자.

 

generic은 any와 유사하지만 조금 다른 특징을 가진다.

any의 경우 데이터를 넣는대로 형변환 되서 사용되지만 generic은 초기에 데이터 타입을 정해주면 해당 타입만 쓸 수 있다.

 

보통 class에서 사용하는데, 데이터를 저장할 때 어떤 데이터 타입도 받을 수 있게 해주지만 특정 변수에 대해서는 타입을 지정하고자 할 때 사용한다.

예시를 보면서 이해해보도록 하자.

 

 

Box 클래스는 any를 이용해서, Box2 클래스는 generic을 이용했다.

변수 box와 box3를 비교해보면 알 수 있는데

box의 경우 Date로 값을 넣어주고, 분명 data도 Date형의 변수를 받고자하지만

box가 string이면 그냥 string으로 들어간다.

이 때 에러도 발생하지 않고 정상적으로 동작한다.

 

실제로 에러가 나지 않지만 데이터 타입이 맞지 않기 때문에 코드상으로는 문제가 있다.

이런 경우를 방지, 예방할 때 generic을 사용한다.

box3의 경우 string 타입의 데이터를 넣으려고 하면 에러가 발생하기 때문에 box3는 Date 타입만 사용할 수 있는 클래스가 된다.

 

 

 

반응형

'개발 언어 > TypeScript' 카테고리의 다른 글

[TypeScript] Visual Studio Code와 tsconfig.json으로 TypeScript 개발하기  (0) 2021.03.09
08 TypeScript - module  (0) 2018.04.09
06 TypeScript - Class  (0) 2018.04.06
05 TypeScript - interface  (0) 2018.04.06
04 TypeScript - union  (0) 2018.04.06

댓글