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