기술/TypeScript
Object(객체)에서 여러가지 타입을 지정해야 하는 경우 [key: type]
빔네모
2023. 12. 18. 00:27
객체에 대한 타입을 지정해야하는 경우,
const 이름: PositionType = {
name: "김사과",
age: "12",
};
각각 해당 key와 value에 맞는 타입을 지정해줄 수 있다.
//타입으로 선언
type PositionType = {
name: string;
age: string;
};
const 이름: PositionType = {
name: "김사과",
age: "12",
};
//인터페이스로 선언
interface PositionType {
name: string;
age: string;
}
const 이름: PositionType = {
name: "김사과",
age: "12",
};
하지만 만약 지정해야 되는 타입이 너무 많고, 모든 key와 value의 타입이 동일하다면 다음과 같이 표현할 수 있다.
//만약 지정해야될 타입이 너무 많을 경우
type PositionType = {
[key: string]: string;
};
인덱싱 가능한 타입(indexable type)이라고도 한다.
이 타입을 사용하면 객체의 프로퍼티 이름과 값에 대한 타입을 동적으로 확장할 수 있다.