타입 별칭과 인덱스 시그니쳐 - 타입스크립트 기본
타입 별칭
// 타입 별칭 -> 코드의 중복을 막음 (함수 내의 User type이랑 해당 type이랑 별개)
type User = {
id: number;
name: string;
nickname: string;
birth: string;
bio: string;
location: string;
}
let user: User = {
id: 1,
name: "박정수",
nickname: "GgoPpark",
birth: "1998.09.15",
bio: "안녕하세요",
location:"서울시"
}
인덱스 시그니처
// 인덱스 시그니처
// 해당 key value 의 타입 패턴이 일치할 때 해당 방식으로 사용 가능
type CountryCodes ={
[key : string] : string;
};
let countryCodes: CountryCodes = {
Korea : 'ko',
UnitedState:"us",
UnitedKingdom:"uk",
}
type CountryNumberCodes = {
[key : string]: number;
}
// 인덱스 시그니처의 규칙만 위반하지 않으면 모두 허용 -> 프로퍼티가 없으면 위반할 프로퍼티가 없으므로 에러가 안남
let countryNumberCodes: CountryNumberCodes = {
Korea : 410,
UnitedState : 840,
UnitedKingdom:826,
}