Indexed Access Types
type Person = { age: number; name: string; alive: boolean };
type Age = Person['age']; // type Age = numbertype I1 = Person["age" | "name"]; // type I1 = string | number
type I2 = Person[keyof Person]; // type I2 = string | number | boolean
type AliveOrName = "alive" | "name";
type I3 = Person[AliveOrName]; // type I3 = string | boolean
// 만약 Person에 없는 키로 접근한다면? 에러가 발생!
type Error = Person['ali'] // 에러발생!배열은 그러면 어떻게 될까?
const MyArray = [
{ name: "Alice", age: 15 },
{ name: "Bob", age: 23 },
{ name: "Eve", age: 38 },
];
type Person = typeof MyArray[number];
// type Person = {
// name: string;
// age: number;
// }Last updated