작성
·
418
2
실제 서비스를 만드시면서 enum을 많이 사용하시나요? enum보다 as const로 사용하는 것이 훨씬 좋다는 글을 봐서 여쭤봅니다.
const phoneType = ['home', 'office', 'studio'] as const;
type PhoneType = typeof phoneType[number];
이렇게도 쓸 수 있을 거 같은데 실무에서 어떤 방법을 더 선호하시나요?
그리고 이렇게 만든 경우에 interface는 [phone: PhoneType] : {} 이렇게 작성할 경우 오류가 뜨는데, interface를 만들 때 key를 string으로 넓게 잡는 것이 아니라 원하는 문자열만 될 수 있도록 범위를 좁히는 방법이 있나요? (아래처럼 사용하고 싶어서요)
type PhoneNumberDictionary {
[phone in PhoneType]: {
num: number;
};
}
위처럼 코드를 작성할 경우 아래와 같은 에러가 발생합니다ㅠㅠ