반응형
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 |
댓글