1개 이상의 타입 정의
let data: string | number = 'string'
data = 123
interface PropsType extends DataType {
// DataType의 속성 타입을 전부 포함하고
// + @ 추가 타입도 작성 가능하다
}
type PropsType = DataType & {
// + @
}
이미 설정되어 있는 타입의 부분 집합을 사용하고 싶을 때 사용함
// DataType에 속한 속성이라면 전부 사용 가능
Partial<DataType>
이미 설정되어 있는 타입에서 특정 속성만 사용하고 싶지 않을 때 사용함
interface
에서는 사용 불가능
// DataType에서 objArr 속성만 제외한 Type
Omit<DataType, 'objArr'>
DataType을 정의할 때
:
대신?:
를 사용하면 비슷한 효과를 낼 수 있다.
?:
는 속성이 없을 수도 있다는 의미이다.
특정 속성만 선택해서 사용하고 싶을 때 사용함
// DataType에서 str 속성만 사용한 Type
Pick<DataType, 'str'>