type Person = {
name: string,
age: number
};
const jack: Person = {
name: 'Jack',
age: 20
};
const key1: string = 'name';
console.log(jack[key1]); //ts error
const key2 = 'name';
console.log(jack[key2]); //Jack
key1의 type : string
key2의 type : 'name' 그 자체(string literal)
object의 key에 index signature 설정
type Person = {
[key: string]: string | number
name: string,
age: number
};
const jack: Person = {
name: 'Jack',
age: 20
};
const key1: string = 'name';
console.log(jack[key1]); //Jack
const key2 = 'name';
console.log(jack[key2]); //Jack