오히려 좋아..

상황이 나쁘게만 흘러가는 것 같을 때 외쳐보자.. .

궁금한 마음으로 포트폴리오 보기

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
}