Javascript/Typescript

[Typescript] 인덱스 시그니처

같이긍뱅와 2023. 11. 12. 15:41
interface Animal {
  [key: string] : string | number // index signature
  name: string;
  age: number;
}

const animal: Animal = {
  name: 'dog',
  age: 85
}

interface Payload {[key: string]: unknown} // index signature

function getValues(payload: Payload) {
  if(payload && payload.constructor === Object) {
    return Object.keys(payload).map(key => payload[key])
  }
}

getValues(animal);

 

index 가능 타입은 인덱스 시그니처를 명시해줘야 indexing 할 수 있음

일반 변수로 사용할 때 매개변수로 사용할 때 모두 명시해줘야함