Typescript
230531 Typescript 타입호환성 / 대수타입 / 타입추론 / 단언 / 타입좁히기 / 서로소 유니온 타입 활용
hyerin1201
2023. 5. 31. 13:12
- 다양한 종류들의 타입들이 어떻게 상호 호환 가능성을 가지고 있는가
- 타입 : 집합의 개념
- 부모와 자식의 요소가 중요하다.
자녀타입에서 부모타입 값을 할당하는 것 : 업캐스팅
부모타입에서 자녀타입 값을 할당하는 것 : 다운캐스팅 (불가능)
- 객체타입의 상호호환
타입스크립트의 객체는 프로퍼티를 기준으로 타입을 정의!
추가적인 프로퍼티 값이 존재할 수록 서브타입으로 유형이 변경됩니다.
(심플할수록 슈퍼타입, 프로퍼티가 많을수록 까다로워지므로 서브타입)
- 초과 프로퍼티 검사: 변수를 객체 리터럴로 초기화 할때 발동하는 타입스트립트만의 특수한 기능
초기에 정의된 프로퍼티 외 다른 초과된 프로퍼티를 갖는 객체를 변수에 할당할 수 없도록 막는 기능.
- 대수타입 : 여러개의 타입을 합성해서 만드는 타입
- 합집합 타입(Union) : 모든타입을 하나로 합친다
- 교집합 타입(Intersection) : 두타입의 공통된 요소만 사용한다.
- 합집합 타입(Union)
- 교집합 타입(Intersection)
- 타입추론 : 타입스크립트는 아직 정의되지 않은 변수의 타입을 "자동"으로 추론해 줍니다.
- 타입단언 : 특정값을 원하는 타입으로 단언 시킬때 사용하는 타입형식.
- 타입좁히기 : 매개변수의 범위를 유니온타입으로 지정했을때 특정 조건에 부합할때에만 해당 범위로 좁히고 싶을때
- 서로소 유니온 타입을 합쳐서, 값을 추출하여 사용하는 방법
*서로소 : 교집합이 없는 타입들
위 세가지 방식 모두 같은 값을 추출한다