Language/Javascript, typescript
[Typescript] Object key 타입 정의
junha6316
2022. 8. 17. 23:29
자주 사용하지만 항상 까먹어서 정리해둔다.
1) Union String인 경우
type fruit = "orange" | "strawberry" | "melon"
// Optional인 경우 {[key in fruit]: number}
const fruitPrices: {[key in fruit]: number} = {
orange:10,
strawberry: 20,
melon: 30
}
const fruitPrices2: Record<fruit, number> = {
orange:10,
strawberry: 20,
melon: 30
}
2) Enum인 경우도 동일하지만 위 예제와 동일하게 사용시 value 값을 사용하게 된다.
enum Fruit {
Orange="orange",
Strawberry="strawberry",
Melon="melon",
}
const fruitAmount: {[key in Fruit]: number} = {
orange: 1,
strawberry:2,
melon:3
}
const fruitAmount: Record<Fruit: number>
Enum의 키 값을 사용하고 싶다면 아래처럼 하자
enum Fruit {
Orange="orange",
Strawberry="strawberry",
Melon="melon",
}
const fruitAmount: Record<keyof typeof Fruit, number> = {
Orange:1,
Strawberry:2,
Melon:3
}