type User = {
id: number;
name: string;
birth : string
location : string
}
let user : User{
} = {
id: 1,
name: "신봄",
birth: "1989.02.12",
location: "서울",
};
function func() {
type User = {}
// func 스코프 안의 User타입
}
동일한 스코프에 중복될 수 없음.
인덱스 시그니쳐(Index Signature)
type CountryCodes = {
[key: string]: string;
};
let countryCodes: CountryCodes = {
Korea: "ko",
UnitedState: "us",
UnitedKingdom: "uk",
};
type CoutryNumberCodes = {
[key: string]: number;
};
let countryNumbercodes: CoutryNumberCodes = {
Korea: 410,
UnitedState: 840,
UnitedKingdom: 826,
};
인덱스 시그니처는 규칙을 위반하지만 않으면 오류가 발생되지 않는다.
type CoutryNumberCodes = {
[key: string]: number;
Korea: number;
};
type CoutryNumberAndStringCodes = {
[key: string]: number; // 오류 발생[string 할당할 수 없음]
Korea: string;
};